Java 是否将数组的索引0排除为输出选项?
所以我在我的第一学期,需要完成一个餐厅订单项目。 一切都进行得很顺利,但我对一个项目的规定很感兴趣: iii.当前用餐者的选择完成后,显示他们选择的所有项目的列表。如果他们在每个菜单上选择了第一个选项,则不显示该项目:无选择 未选择数组的索引0。如何仅排除索引0 这是4个do-while循环之一,用户在其中输入他们的选择并验证数据,如果有帮助,我完全被卡住了。谢谢Java 是否将数组的索引0排除为输出选项?,java,arrays,loops,Java,Arrays,Loops,所以我在我的第一学期,需要完成一个餐厅订单项目。 一切都进行得很顺利,但我对一个项目的规定很感兴趣: iii.当前用餐者的选择完成后,显示他们选择的所有项目的列表。如果他们在每个菜单上选择了第一个选项,则不显示该项目:无选择 未选择数组的索引0。如何仅排除索引0 这是4个do-while循环之一,用户在其中输入他们的选择并验证数据,如果有帮助,我完全被卡住了。谢谢 System.out.println("Please select one item from the beverages menu
System.out.println("Please select one item from the beverages menu.");
do {
for(int j = 0; j < beveragesArray.length; j++) {
System.out.println((j + 1) + ". " +
beveragesArray[j] + " $" + beveragesPriceArray[j]);
}
System.out.println("Please enter your selection #: ");
beverageSelection = input.nextInt();
if(beverageSelection < 1 || beverageSelection > beveragesArray.length) {
System.out.println("We don't serve that, what else would you like?");
badDataFlag = true;
} else {
badDataFlag = false;
accumulator += beveragesPriceArray[beverageSelection - 1];
break;
}
} while (badDataFlag = true);
虽然有很多方法可以解决这个问题,但最简单的方法是添加“Item1 No Selection”,就像您当前在打印输出时所做的那样,只需使用if语句即可。如果值为第1项,则不要打印任何内容,否则,打印内容 虽然没有发布相应的代码,但可以是这样简单的代码
if ( itemSelectedindex > 0 ){
// print something tasty
}
您可以通过声明字符串来累积订单,而不是添加索引为0的项目 在所有do while循环中声明此字符串,可能是main()中的第一行 在这个位置,添加新的if语句
if(beverageSelection < 1 || beverageSelection > beveragesArray.length) {
System.out.println("We don't serve that, what else would you like?");
badDataFlag = true;
} else {
badDataFlag = false;
accumulator += beveragesPriceArray[beverageSelection - 1];
//NEW CODE//
if(beverageSelection != 1){//1. **No selection** $0.00
customerOrder += beveragesArray[beverageSelection - 1] + "\n";
}
//NEW CODE//
break;
}
如果selectedArray[index]=0,则不要打印选择内容。如果您向我们显示将最终订单打印给用户的代码部分,则会有所帮助。有几种方法可以做你想做的事情。您是否尝试创建一个数组来存储用户选择的项目?然后,在用户选择的最后,您可以使用for循环打印数组,但测试下一个数组项是否为“No selection”。如果是,您可以跳过此项。顺便说一下,这是一个错误,
do{…}while(badDataFlag=true)代码>。这是一个无限循环。你的意思是do{…}while(badDataFlag)代码>。感谢所有的输入人员。舒尔茨,你是对的,但我的教授对“膨胀代码”一丝不苟,所以我将采用亚赞的方法。谢谢你们两位!谢谢你,伙计!我开始担心膨胀代码的分数扣减,在每个子菜单中使用ifs,这是非常优雅的。非常感谢。很高兴听到这个消息,所以如果你需要的话,请把这个标记为答案
String customerOrder = "";
if(beverageSelection < 1 || beverageSelection > beveragesArray.length) {
System.out.println("We don't serve that, what else would you like?");
badDataFlag = true;
} else {
badDataFlag = false;
accumulator += beveragesPriceArray[beverageSelection - 1];
//NEW CODE//
if(beverageSelection != 1){//1. **No selection** $0.00
customerOrder += beveragesArray[beverageSelection - 1] + "\n";
}
//NEW CODE//
break;
}
System.out.println("Thank you, Evelyn. Your order consists of:");
System.out.println(customerOrder );