我需要帮助让两者都运行,但是当我自己运行时,它们会单独运行。第一个循环生成(但隐藏)20个随机数,第二个循环添加并显示值与总和,但我不知道如何组合。
赋值:
你将使用Main来声明4个变量,一个循环将调用一个将返回一个随机数的方法,一个调用一个void计算方法,该方法将采用一个整数随机值变量,一个参考平均变量,作为参数的字面值为20,将计算平均值,然后是控制台写入线以显示平均值。接下来是一个循环,它将执行5次并将提示并为double变量赋值,然后调用calculate方法的重载并传递输入的值和byref total变量。在重载计算方法中,您将把传递的值累积到总变量中。在循环之后,您将显示总数。
输出可能与此类似:
20个随机数的平均值为71
输入双倍值10.0
输入双精度值20.0
输入双精度值30.0
输入双精度值40.0
输入双倍值50.1
总数为150.1
按任意键继续。
using System;
namespace week7
{
class Program
{
static void Main(string[] args)
{
int randomNumber;//hold random
double average = 0;//hold average
double total = 0;//hold total
double manualEntry = 0; //input entry
for(int i = 0; i < 20; i++)//20 times
{
randomNumber = getRandom();//by reference
total = total + randomNumber;//by reference
}
calculate(total, ref average, 20);
Console.WriteLine("The average of the 20 random numbers is {0}", average);
total = 0;
Console.WriteLine();//adds space
for (int i = 0; i < 5; i++)
{
Console.Write("Enter a double value ");
manualEntry = Convert.ToDouble(Console.ReadLine());
calculate(manualEntry, ref total);
}
Console.WriteLine("The total is {0}",total);
}
static int getRandom()
{
Random randomGenerator = new Random();
return randomGenerator.Next(1,101);
}
//pass the total of the random values, the average variable by reference, and the literal value of 20.
// the entry taken from the console and the variable to hold the total by reference.
private static void calculate(double consoleInput, ref double total)
{
total += consoleInput;
}
//pass the total of the random values, the average variable by reference, and the literal value of 20.
private static void calculate(double total, ref double average, double denominator)
{
average = total / denominator;
}
}
}
答案 0 :(得分:2)
你有非常明确的指示,你似乎没有遵循。我忽略了您问题的大部分内容,而是通过向您显示Calculate()
方法的签名和Calculate()
方法的重载来尝试让您开始标题问题。
计算方法:&#34;一个空白计算方法,它将取一个整数随机值变量,一个参考平均变量,一个字面值20作为参数&#34; (注意:我不知道你的老师的意思是什么&#34;字面值为20&#34;作为参数,所以我使用了默认值)
void Calculate(int randomInteger, ref double average, int literal = 20)
{
}
重载计算方法: &#34;计算方法的重载并传递输入的值和byref总变量&#34;
void Calculate(double enteredValue, ref double total)
{
}