根据用户输入的支出获得青睐的孩子

时间:2013-12-03 20:56:01

标签: java input

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%只有一点我正在努力。您输入孩子的姓名和他们想要的书籍以及书籍的价格。然后根据每个孩子花费的金额,你必须确定最喜欢的孩子。我无法掌握如何分割每个孩子的价值并保持这一点,直到超出任何建议,欢迎致谢。

2 个答案:

答案 0 :(得分:0)

您是否只想保留最高总价值或所有总价值?

如果你想保持最高的总价值,你只需要两个新的变量:一个跟踪最高的数字,一个跟踪它是谁。 当有人输入更多书籍并且你发现他们的总数高于最高总数时,用这个新总数替换最高总数并将他们的名字存储在另一个变量中。

如果您想跟踪所有总计,可以为每个名称/值对使用HashMap或某种类型的集合,然后查看最后的值。

答案 1 :(得分:0)

if (favoriteCost < totalCost){
    favoriteCost = totalCost;
    favoriteChild = childsName;
}

在用户指定完成后使用此代码。这将确保仅存储喜欢的孩子的姓名和孩子的总费用,而不存储其他孩子的总费用。然后您可以使用以下内容稍后调用它们:

System.out.println("The favorite child is: " + favoriteChild)