System.out.println("What is the title of the book" + " " + childsName + " "+ "would like?");
bookWanted=keyboard.nextLine();
shoppingList +=bookWanted+"\n";
do {
System.out.println("What is the price of" + " " + bookWanted); //Input for price of book wanted
if (keyboard.hasNextDouble()) {
bookPrice=keyboard.nextDouble();
totalCost+=bookPrice;
isNumber=true;
}else{
System.out.println("Please enter a valid price"); //book price validation
isNumber=false;
keyboard.nextLine();
}
} while(!isNumber);
keyboard.nextLine();
System.out.println("Are you finished Y/N?");
answer=keyboard.nextLine();
if (answer.charAt(0)=='y'||answer.charAt(0)=='Y'){
finished=true;
}
任何人都可以帮助这个代码几乎100%只有一点我正在努力。您输入孩子的姓名和他们想要的书籍以及书籍的价格。然后根据每个孩子花费的金额,你必须确定最喜欢的孩子。我无法掌握如何分割每个孩子的价值并保持这一点,直到超出任何建议,欢迎致谢。
答案 0 :(得分:0)
您是否只想保留最高总价值或所有总价值?
如果你想保持最高的总价值,你只需要两个新的变量:一个跟踪最高的数字,一个跟踪它是谁。 当有人输入更多书籍并且你发现他们的总数高于最高总数时,用这个新总数替换最高总数并将他们的名字存储在另一个变量中。
如果您想跟踪所有总计,可以为每个名称/值对使用HashMap或某种类型的集合,然后查看最后的值。
答案 1 :(得分:0)
if (favoriteCost < totalCost){
favoriteCost = totalCost;
favoriteChild = childsName;
}
在用户指定完成后使用此代码。这将确保仅存储喜欢的孩子的姓名和孩子的总费用,而不存储其他孩子的总费用。然后您可以使用以下内容稍后调用它们:
System.out.println("The favorite child is: " + favoriteChild)