【发布时间】:2015-03-02 09:26:13
【问题描述】:
所以分配如下:你可以输入各种数字,但是当你连续输入两次 0 时它需要停止。第一次输入数字时,不允许输入 0。
这是我设置的代码:
class MainClass
{
public static void Main (string[] args)
{
int givenNumber, prevNumber;
Console.WriteLine ("Enter a number: ");
int.TryParse (Console.ReadLine (), out givenNumber);
// I've set the prevNumber to givenNumber because the variable has to be initialized
// before I can use it in the condition below. I thought setting it to the giveNumber
// wouldn't harm. Note that the first time your not allowed to enter 0
prevNumber = givenNumber;
while (givenNumber != 0 && prevNumber != 0) {
prevNumber = givenNumber; //Here is where they both are 0 at a given moment, but only after the condition.
Console.WriteLine ("Enter a number: ");
int.TryParse (Console.ReadLine (), out givenNumber);
}
Console.WriteLine ("Tada");
}
}
问题是当你只输入一个 0 时它已经停止。例如,如果我首先输入一个 7,我的下一个数字将是 0。当我调试它时,它说我的 givenNumber为 0 且 prevNumber 为 7,当它返回到 while 条件时它停止并结束。当程序完成调试时,清楚地显示 prevNumber = 7 和 givenNumber = 0。我使用的是条件 AND 正确,不是吗?
有什么线索吗?我不允许在这件事上使用数组。
提前致谢
【问题讨论】:
-
试试这样:
while ((givenNumber != 0) && (prevNumber != 0)) { -
@RBarryYoung 试了没有成功
标签: c# while-loop