如果输入错误,请重新输入

Ask for input again if wrong input is entered

我是 Java 编程新手。如果用户输入错误,我希望程序再次要求输入。我必须做什么?请帮忙!如果你想避免混乱,请跳到 'if else if' 部分......不要粗鲁,但如果你不能回答,请不要要求关闭问题。

case 'A': case 'a':
            System.out.println("You selected NOS Tank.");
            int price;
            double quantity;
            double variant=0; 
            System.out.println("Select the variant: ");                                                    
            System.out.println("Enter 'D' without apostrophe for dry or 'W' for wet");
            variant=xss.next().charAt(0);                                                                  
            if (variant=='D' || variant=='d')
            {
                System.out.println("The price of dry nitrous oxide system is: 0");
            }
            else if (variant=='w' || variant=='W')
            {
                System.out.println("The price of wet nitrous oxide is: 0");
            }
            else 
            {
                System.out.println("Invalid input.");                                                      
            }

距离您提出疑问已经 28 天了,所以我不知道您是否找到了答案,但这是我的解决方案。 要接受正确的输入,您需要使用 while 循环,循环是 java 中的迭代,其中 运行 根据给定的说明多次迭代。在这个程序中,我加入了一个 while 循环,它的条件总是为真,所以基本上它是一个无限循环。如果输入的变体是正确的并且与任何一个 if 条件相匹配,那么循环将由于“break;”而自动中断。陈述。 休息;是 java 中的跳转语句,它允许您在满足要求时终止循环。 以下是您所需的程序代码。 希望这能解决您的问题:)

case 'A': case 'a':
    System.out.println("You selected NOS Tank.");
    int price;
    double quantity;
    double variant=0; 
    System.out.println("Select the variant: ");
    
    while(true)
    {                                                    
        System.out.println("Enter 'D' without apostrophe for dry or 'W' for wet");
        variant=xss.next().charAt(0);                                                                  
        if (variant=='D' || variant=='d')
        {
            System.out.println("The price of dry nitrous oxide system is: 0");
            break;
        }
        else if (variant=='w' || variant=='W')
        {
            System.out.println("The price of wet nitrous oxide is: 0");
            break;
        }
        else 
        {
            System.out.println("Invalid input.");     
            System.out.println("Please enter the variant again:");                                                
        }
    }