c# - 打破1方法创造2
问题描述
打破1方法创造2
有没有办法把这段代码分成两种方法?一种方法应命名为 GetInput(),另一种方法应命名为 CalculateAve()
static void GetInput()
{
//declare a counter variable
int count = 0;
string inValue = "";
int sum = 0, intValue;
while (inValue != "DONE")
{
if (int.TryParse(inValue, out intValue) == false)
{
count--;
Console.WriteLine("type DONE to STOP entering scores:");
}
sum = sum + intValue;
Console.Write("Enter DONE to exit: ");
inValue = Console.ReadLine();
count++; // increase the counter to keep track of the number of inputs
}
int average = (int)sum / count; //calculate the average
Console.WriteLine(" Grade Result");
Console.WriteLine("Average: {0}", average); //print the average
static void Main(string[] args)
{
//Getting Input value and Calculate the Average
GetInput();
解决方案
static void GetInput()
{
List<int> values = new List<int>();
int intValue;
while (true)
{
var test = Console.ReadLine();
if (int.TryParse(test, out intValue))
{
}
else if(test.ToUpper()=="DONE")
{
break;
}
else
{
Console.WriteLine("type DONE to STOP entering scores:");
}
}
double average = GetAverage(values);
Console.WriteLine(" Grade Result");
Console.WriteLine("Average: {0}", average); //print the average
}
static double GetAverage(List<int> values)
{
return (double)values.Sum() / (double)values.Count();
}
static void Main(string[] args)
{
//Getting Input value and Calculate the Average
GetInput();
}
推荐阅读
- sql - 如何连接行相同的数据?
- c# - Wrapped FileStream 从文件创建不同的哈希
- sql - 如何定义 WHILE 循环的中断条件?
- c++ - 配置 Netbeans 以在 C++ 中编译代码
- javascript - 将光标移动到移动设备上的值末尾以进行输入
- android - 如何使用淡入淡出制作绿色成功/红色失败屏幕?
- angular - 像 AngularJS 中的作用域注入,用于更现代的库
- django - Django Nginx Gunicorn中的上传文件限制
- android-activity - 退出本机应用程序时来自 Google Admob 的 ServiceConnection 泄漏
- python - 在查找和替换 Word 文档期间提高 win32com 的性能