C#错误输出中的随机数生成
因此,我试图生成一个随机数,如果这个数是C#错误输出中的随机数生成,c#,if-statement,random,numbers,C#,If Statement,Random,Numbers,因此,我试图生成一个随机数,如果这个数是3或8我想知道会发生什么,在这种情况下,将1加到2个整数中的一个 请记住,我只想用C语言写一本书,用VB学习一些知识 int Number1 = 0; int Number12 = 0; string text; string text2; Exexs: Random rnd = new Random(); int month = rnd.Next(1, 10); if (month =
3
或8
我想知道会发生什么,在这种情况下,将1
加到2个整数中的一个
请记住,我只想用C语言写一本书,用VB学习一些知识
int Number1 = 0;
int Number12 = 0;
string text;
string text2;
Exexs:
Random rnd = new Random();
int month = rnd.Next(1, 10);
if (month = 8)
{
Number1++;
}
else if (month = 3)
{
Number12++;
}
if (Number1 = 1)
{
text = "*";
}
goto Exexs;
在c#中,为了进行比较,需要使用double=
因此,不是:
if (month = 8)
类型:
代码中有太多错误;看起来,实现应该是这样的:
int Number1 = 0;
int Number12 = 0;
// Do not forget to initialize the varaiables:
string text = "";
string text2 = "";
// Create (and initialize by system tomer) Random once, use many
Random rnd = new Random();
// Do not use goto, but loops (they are more readable: we have an infinite loop here)
while (true) {
int month = rnd.Next(1, 10);
// (month = 8) is an assignment, not comparison which is (month == 8)
// Let's use C/C++ language trick: comparing in reversed order:
// (8 == month) and you can easily find out such errors
if (8 == month)
Number1++;
else if (3 == month)
Number12++;
if (1 == Number1) {
text = "*";
// you want to leave the infinite loop (your current code never stops)
break;
}
}
// Let's inspect the outcome
Console.Write($"Number1 = {Number1}; Number12 = {Number12} Text = {text}");
第一:永远不要使用
goto
。这会使您的代码难以阅读和调试。除此之外,您还应该阅读一些关于C#的书,或者至少阅读一些教程。在if条件下,您缺少“==”。例如,如果(月=8)需要重新创建,则月=8)不要重新创建Random
-Random rnd=new Random()代码>-执行一次,然后使用它虽然这很明显,但为什么不提及代码的确切错误?您如何知道运行此代码的结果?它什么也不输出,永远运行。。。无止境的循环!多亏了你们,我把它修好了,错误在于int不是一个整数bool@Kernel使这个问题无法回答,因为它缺乏所有相关信息。
int Number1 = 0;
int Number12 = 0;
// Do not forget to initialize the varaiables:
string text = "";
string text2 = "";
// Create (and initialize by system tomer) Random once, use many
Random rnd = new Random();
// Do not use goto, but loops (they are more readable: we have an infinite loop here)
while (true) {
int month = rnd.Next(1, 10);
// (month = 8) is an assignment, not comparison which is (month == 8)
// Let's use C/C++ language trick: comparing in reversed order:
// (8 == month) and you can easily find out such errors
if (8 == month)
Number1++;
else if (3 == month)
Number12++;
if (1 == Number1) {
text = "*";
// you want to leave the infinite loop (your current code never stops)
break;
}
}
// Let's inspect the outcome
Console.Write($"Number1 = {Number1}; Number12 = {Number12} Text = {text}");