'字符串终止;
do {
System.out.println("Begin Transaction!");
int coinNumber;
String deposit;
do{
System.out.print(">>");
coinNumber = input.nextInt();
deposit = input.nextLine();
int search = deposit.indexOf(" ", 0);
String denominations = deposit.substring(search +1);
if (coinNumber < 0){
System.out.println("Error! Please deposit positive number.");
}
else if (denominations.equalsIgnoreCase("quarter") || denominations.equalsIgnoreCase("quarters")){
Customer.insertQuarters(coinNumber);
}
else if (denominations.equalsIgnoreCase("dime") || denominations.equalsIgnoreCase("dimes")){
Customer.insertDimes(coinNumber);
}
else if (denominations.equalsIgnoreCase("nickels") || denominations.equalsIgnoreCase("nickels")){
Customer.insertNickles(coinNumber);
}
else if (denominations.equalsIgnoreCase("penny") || denominations.equalsIgnoreCase("pennies")){
Customer.insertPennies(coinNumber);
}
else if (denominations.equalsIgnoreCase("quarter") || !denominations.equalsIgnoreCase("quarters")
|| !denominations.equalsIgnoreCase("dime") || !denominations.equalsIgnoreCase("dimes")
|| !denominations.equalsIgnoreCase("nickel") || !denominations.equalsIgnoreCase("nickels")
|| !denominations.equalsIgnoreCase("penny") || !denominations.equalsIgnoreCase("pennies")
|| !deposit.equalsIgnoreCase("done")){
System.out.println("Error! Please deposit correct denominations.");
}
} while (!deposit.contains("done"));
System.out.println(Customer.getVoucher());
System.out.print("Would you like to start another transaction (y/n): ");
termination = input.nextLine();
}
while (termination.equalsIgnoreCase("y"));
System.out.println(Customer.getCollectedFees());
input.close();
}
} '
我需要它是用户输入:(4个季度)和尽可能多的存款。然后,键入'完成',而不需要在存款之间划线。
输入图片描述
谢谢。
呼叫nextInt()
时不吸收回车符。尝试在初始化coinNumber
之后放置一个Scanner.nextLine()
:
coinNumber = input.nextInt();
input.nextLine();
deposit = input.nextLine();