这是我第一次来到这里,我也是C#的新手,所以请耐心等待。 我被赋予了一个编写程序的任务,该程序将打印出最多20个用户输入数字的时间表,并继续询问数字并打印出时间表,直到用户按q退出。
我在打破循环方面遇到了麻烦,我不太清楚为什么。这是迄今为止的计划:
//variable declarations
int number;
//output title
Console.WriteLine("Welcome to the 20 Times Tables Calculator");
//output prompt for number
Console.WriteLine("Please enter a number between 1 and 20 (inclusive).");
//infinite loop
for (; ; )
{
//input number
number = int.Parse(Console.ReadLine());
//validate number
while (number > 20)
{
Console.WriteLine("Please enter a number smaller than 20.");
number = int.Parse(Console.ReadLine());
}
//calculate multiple x number
//increment i
//repeat until i = 20
for (int i = 1; i <= 20; i++)
{
Console.WriteLine("\t" + i + " x " + number + " = " + i * number);
}
Console.WriteLine("\nEnter another number or press q to quit.");
//break loop
//press q to quit
while (Console.ReadKey().KeyChar != 'q') ;
}
//retain console screen
Console.ReadKey();
非常感谢任何帮助!
答案 0 :(得分:3)
1)而不是开头的以下行:
number = int.Parse(Console.ReadLine());
从控制台读取一个字符串并检查它是否为“q”,如果不是,则继续:
string line = Console.ReadLine();
if(line == "q")
break;
number = int.Parse(line);
2)删除以下行,您不再需要它了:
while (Console.ReadKey().KeyChar != 'q') ;
请注意,这将允许用户即使在第一个循环中也退出。