if 语句中的哨兵编号
Sentinel number in if statement
对于 java class 中的数据结构和算法,我被指派创建一个程序,该程序接受用户输入的商品名称和价格,然后计算平均价格。我已经成功地做到了这一点,但是,我在程序的某个规范上遇到了很多麻烦:终止项目的标记号 (-1)。这是我的代码,我将解释问题所在。
while(true){
System.out.print("Enter item " + (count + 1) + " name: "); // enter name
names[count] = in.next(); // next string becomes count index
System.out.print("Enter item " + (count + 1) + " price: "); // enter price
prices[count] = in.nextDouble(); // stores price entered as array index
if(prices[count] == -1) break; // if next price == -1 // the code i want to change.
if(names[count].equalsIgnoreCase("peas")) flag = true;
average += prices[count];
count++;
}
所以,我的问题是:当我为项目名称输入 -1 时,我想终止程序,而不必输入 "dummy" 项目名称,然后必须输入标记编号 (-1 ).
抱歉解释得太长了,只是想说的很透彻。
感谢您花时间阅读本文并帮助一个满怀希望的程序员。
您需要使用 String
进行比较(但 "-1"
即可)。另外,在收到输入后立即执行此操作。像,
names[count] = in.next();
if (names[count].equals("-1")) {
break;
} // ...
对于 java class 中的数据结构和算法,我被指派创建一个程序,该程序接受用户输入的商品名称和价格,然后计算平均价格。我已经成功地做到了这一点,但是,我在程序的某个规范上遇到了很多麻烦:终止项目的标记号 (-1)。这是我的代码,我将解释问题所在。
while(true){
System.out.print("Enter item " + (count + 1) + " name: "); // enter name
names[count] = in.next(); // next string becomes count index
System.out.print("Enter item " + (count + 1) + " price: "); // enter price
prices[count] = in.nextDouble(); // stores price entered as array index
if(prices[count] == -1) break; // if next price == -1 // the code i want to change.
if(names[count].equalsIgnoreCase("peas")) flag = true;
average += prices[count];
count++;
}
所以,我的问题是:当我为项目名称输入 -1 时,我想终止程序,而不必输入 "dummy" 项目名称,然后必须输入标记编号 (-1 ).
抱歉解释得太长了,只是想说的很透彻。 感谢您花时间阅读本文并帮助一个满怀希望的程序员。
您需要使用 String
进行比较(但 "-1"
即可)。另外,在收到输入后立即执行此操作。像,
names[count] = in.next();
if (names[count].equals("-1")) {
break;
} // ...