您好,我正在尝试生成一个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/

10-12 02:26