我遇到了一个循环问题,我必须输入两次温度才能启动循环。我想我知道问题在哪里,只是不知道如何解决。我已经编写了总共三周的代码,所以我在这方面完全是个初学者。
这是我有问题的代码部分:
{
Console.WriteLine("Enter the temperature in Fahrenheit: ");
int fahrenheit = int.Parse(Console.ReadLine());
int celsius = FahrToCels(fahrenheit);
do
{
fahrenheit = int.Parse(Console.ReadLine());
celsius = FahrToCels(fahrenheit);
if (celsius < 73)
{
Console.WriteLine(celsius);
Console.WriteLine("It's too cold, raise the temperature.");
}
我想你明白我的意思了。我唯一能让循环工作的方法就是重复int.Parse(Console.ReadLine()),但也许还有另一种修复方法可以修复必须输入两次温度的问题?
真希望有人能帮我解决这个问题。
这里的要点是:每当您执行控制台时。ReadLine(),程序等待控制台的一些输入。因为你遇到了一个控制台。ReadLine()在循环之前和循环内部,需要输入两次值才能“启动”循环。
更重要的是:do-while循环至少执行一次,因为条件仅在循环迭代后检查。如果您将其更改为ong-cle,在每次循环迭代之前检查条件,您可能会得到您期望的:
int fahrenheit = int.Parse(Console.ReadLine());
int celsius = FahrToCels(fahrenheit);
while (celsius < 73)
{
Console.WriteLine(celsius);
Console.WriteLine("It's too cold, raise the temperature.");
Console.WriteLine("Enter the temperature in Fahrenheit: ");
fahrenheit = int.Parse(Console.ReadLine());
celsius = FahrToCels(fahrenheit);
}
我还想指出,如果用户输入了无法解析为int的内容,那么现在的代码将抛出一个异常。这通常会导致程序终止,除非使用try-catch块以某种方式捕获异常。
如果问题是您需要访问循环范围之外的变量,那么您可以在不分配它们的情况下声明它们。
{
Console.WriteLine("Enter the temperature in Fahrenheit: ");
int fahrenheit;
int celsius;
do
{
fahrenheit = int.Parse(Console.ReadLine());
celsius = FahrToCels(fahrenheit);
if (celsius < 73)
{
Console.WriteLine(celsius);
Console.WriteLine("It's too cold, raise the temperature.");
}
您的代码比您共享的要多,但添加我认为您需要的内容是将readline移动到另一种方法:
do
{
int farenheight = getTemp();
celsius = FahrToCels(fahrenheit);
if (celsius < 73)
{
Console.WriteLine(celsius);
Console.WriteLine("It's too cold, raise the temperature.");
}
}
public int getTemp(){
return int.Parse(Console.ReadLine());
}
这是菜单类 import java.util.Scanner; 公共类菜单{private String[]Menu_options; } 这是我使用的菜单驱动程序 公共类 Menutester { } 我第一次输入一些东西时,它根本不会重新生成,当我尝试在eclipse中调试它时,它会给我错误FileNotFoundException(Throwable)。(字符串)行:第一次输入195。 这就
问题内容: 我有以下声明: 我需要为role_id 101-355生成一行(因此,与上述相同的语句,除了随着role_id递增而重复)。最好的方法是什么?为了完成这项工作,我打算编写一个快速的C#应用程序,该应用程序将有一个循环,但是我确信这不是最好的方法,希望在这里学习一些东西,以免将来不得不这样做(因为我确保这种情况很常见)。 问题答案: 您应该使用数字表,如果没有数字表,可以这样使用:
我正在进行模拟测试,我正在努力创建一个循环,将循环输入12次,同时将每个输入添加到总和。 确定一个人在特定年份的平均体重。 对于每个月,您的算法应该输入该人当月的体重(正实数)。您的算法应该循环,重复输入,直到输入为正。 最后,您的算法输出平均权重。 在浏览了关于迭代控制结构的课堂笔记后,我想到了这个: 不幸的是,所有这些对我来说都是重复输入无限次,直到我输入一个大于12的数字。 我只想让控制台输
我正在编写一个python游戏,它有以下功能可以向用户询问。 最多可以有4名玩家(最少1名玩家,最多4名玩家) 它会问玩家的名字。如果名称已存在,程序将提示“名称已在列表中”,并要求再次输入名称 如果播放器在播放器名称输入中输入空字符串,它将退出。 它会询问玩家想要玩多少n个随机数字(使用randint(开始,停止)。最多只允许3位数字 我知道我必须使用
下面的代码循环了两次。第一个while循环要求用户输入(以做出选择)。我把选择默认值设置为“n”,使它变得更简单。 因此,它命中if语句并开始第2个while循环。现在它要求用户进行另一个选择。用户只能输入“a”,因为其他任何东西都会出现错误陷阱。用户输入“a”并得到添加一个数字的提示(变量num=0)。用户输入一个数字。 使用更多信息更新的代码 我已经尝试使用不同的变量进行选择。它不起作用。我想
我的问题得到了回答,我的问题得到了解决。我已经更新了这个线程与我的最终解决方案 我正在做这个学校作业(测验程序),我们最初只需要做一个纯粹的基于文本的控制台游戏,但我想挑战自己,试着用JavaFX创建它,我们刚刚开始学习。 这是一个基于回合的问答游戏,玩家将被呈现一个问题,要求玩家通过两个按钮(对或错按钮)回答对/错 游戏流程: 我正在运行一个for循环,只要我的ArrayList中还有问题,这个