在我的一个代码中,我希望客户能够输入他们想要放入机器的金额,并且机器会计算回馈给客户的更改量。但是,我想这样做,如果客户没有输入' $'在他们支付的金额之前,系统告诉他们再试一次。我不知道该怎么做。到目前为止,这是我的代码
double customerPayment;
System.out.print("$ " + purchasePrice + " remains to be paid. Enter coin or note: ");
customerPayment = nextDouble();
//i want to tell the customer if they DONT input a '$' that they must try again
答案 0 :(得分:1)
使用 String 可以通过多种方式实现这一目标。我的建议是:不要尝试从双人读取 $ 。
你可以这样做:
double readCustomerPayment() {
Scanner scanner = new Scanner(System.in);
String inputStr = scanner.nextLine();
scanner.close();
if (!inputStr.startsWith("$")) {
return readCustomerPayment();
}
String doubleStr = inputStr.substring(1);
return Double.parseDouble(doubleStr);
}
答案 1 :(得分:1)
您必须使用String类型来扫描输入。
如果扫描的输入字符串是enteredString,则以下代码片段将解析字符串并提供Double值。
if(enteredString.startsWith("$")){
Double customerPayment = Double.parseDouble(enteredString.substring(1));
}