您好,我正在尝试生成一个If语句,如果用户未输入'M'或'l'则该消息产生一条消息。如果输入了“ M”或“ l”,则应显示答案(4或5)。
每当我输入字母时,都会弹出错误消息,并且如果我输入任何数字,“比萨饼大小必须为M(中)或l(大):”消息会弹出。我希望仅输入字母而不输入数字。
抱歉,如果我没有正确解释问题。
public static void main(String args[]) {
char invalid;
double M, l;
Scanner pizzasize = new Scanner(System.in);
double fstep = 0, sstep = 0, tstep = 0, ostep = 0, lstep = 0;
M = 4;
l = 5;
System.out.println("Enter pizza size:");
fstep = pizzasize.nextDouble();
if(fstep != M|| fstep != l ){
System.out.println("Pizza size must be M (medium) or l (large):");
}else{
String input = pizzasize.next();
if(fstep == M||fstep ==l){
fstep = M;
}
else if(input.equals("l")){
fstep = l;
}
pizzasize.close();
}
}
}
最佳答案
为了能够要求用户输入M或L,如果先前的输入错误,请使用以下代码:
package com.stackoverflow.json;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner pizzasize = new Scanner(System.in);
System.out.println("Enter pizza size:");
String input = pizzasize.next();
while (!(input.equals("M") || input.equals("l"))) {
System.out.println("Pizza size must be M (medium) or l (large):");
input = pizzasize.next();
}
System.out.println(input);
pizzasize.close();
}
}
印刷品:
Enter pizza size:
a
Pizza size must be M (medium) or l (large):
M
M
关于java - java IF语句不适用于我,并且我的变量有麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43601607/