C# 而循环只是重复
因此,我的程序将无限次运行,直到用户输入-999。在当前设置中,输入任何数字时发生的所有情况都是,它会输出所有文本并忽略输入的内容C# 而循环只是重复,c#,loops,while-loop,C#,Loops,While Loop,因此,我的程序将无限次运行,直到用户输入-999。在当前设置中,输入任何数字时发生的所有情况都是,它会输出所有文本并忽略输入的内容 static void Main(string[] args) { //Local Variable Declaration// const double rate1 = 10; const double rate2 = 3; const double maxCharge = 50;
static void Main(string[] args)
{
//Local Variable Declaration//
const double rate1 = 10;
const double rate2 = 3;
const double maxCharge = 50;
double charge;
int hoursRented;
while (true)
{
Console.WriteLine("Enter number of hours (-999 to quit) : ");
hoursRented = Console.Read();
if (hoursRented == -999)
break;
else
if (hoursRented <= 3)
{
charge = hoursRented * rate1;
}
else
{
charge = (3 * rate1) + ((hoursRented - 3) * rate2);
}
if (charge > maxCharge)
{
charge = maxCharge;
}
Console.WriteLine("Are you a member? (Y/N) : ");
string memberStatus = Console.ReadLine();
string upperstring = memberStatus.ToUpper();
if (memberStatus.Equals("Y"))
{
charge = charge - (charge * 1 / 10);
}
double TotalCharge = +charge;
Console.WriteLine("Customer Charge : {0} Total Charge To Date {1} : ", charge, TotalCharge);
}
}
}
}从Console文档开始。阅读: 从标准输入流中读取下一个字符 该方法只读取单个字符。要读取整行,请改用:
顺便说一句,当你打算使用标志退出循环时。。。whilecontinue和在某个点continue=false。@Matíasfidemrazier OP已经有一个break语句。上述逻辑是否正确则完全不同;您是否尝试过使用Console.ReadLine而不是Console.Read
int hours;
if(int.TryParse(Console.ReadLine(), out hours) && hours == -999)
break;