微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的 java 程序中的 if 语句在用户输入中遇到问题

如何解决我的 java 程序中的 if 语句在用户输入中遇到问题

import java.util.Scanner;

public class Rudra{

public static void main(String[] args) {
        Scanner myObj = new Scanner(system.in);
        System.out.println(".........");
        System.out.println("Welcome,want to test you're cuteness percentage?");
        String answer = myObj.nextLine();
        System.out.println("Please enter your name:");
        String subAnswer = myObj.nextLine();
        System.out.println("Your age:");
        int lastAnswer = myObj.nextInt();
        if (subAnswer.equals("Shruti") && lastAnswer == 18) {
            System.out.println(subAnswer + "-you're 90% cute");
        } else if (subAnswer.equals("Rimjhim") && lastAnswer == 12) {
            System.out.println(subAnswer + "-you're 50% cute");
        } else if (subAnswer.equals("Swati") && lastAnswer == 13) {
            System.out.println(subAnswer + "-you're 69% cute");
        } else {
            System.out.println("You've no cuteness ");
        }
    }
}

以下是我的代码。我希望当第一个问题被问到想要检查你的可爱程度并且用户回答是时,它说欢迎并继续询问姓名和年龄。否则,如果用户回答否,它会说好的,然后不会询问姓名和年龄,如果用户回答不是是或否,它会说请回答是或否。我正在尝试将其添加到我的程序中。从过去 1 周开始尝试,但没有发生。请帮帮我...

解决方法

你错过了这个

    System.out.println("Welcome,want to test you're cuteness percentage?");
    String answer = myObj.nextLine();
    if(answer.equalsIgnoreCase("yes"))
        ///Your code
    else if(answer.equalsIgnoreCase("no"))
        ///Your code
    else
        ////Your code
,

将您的提示置于 dowhile 循环中。如果用户输入了除 yn 之外的任何内容,则应通知用户输入无效并提供重试选项。像这样:

Scanner userInput = new Scanner(System.in);
String answer = "";
while(answer.isEmpty()) {
    // Prompt to User
    System.out.println("Welcome:");
    System.out.println("Do you want to test you're cuteness percentage?");
    System.out.print("Your Choice (y/n): --> ");
    // Get User input.
    answer = userInput.nextLine();
    // If 'answer' does not validate...
    if (!answer.matches("(?i)[yn]")) {
        // RegEx: (?i) = Ignore Letter case
        //        [yn] = Only letters Y,y,N,and n are acceptable.
        System.out.println("Invalid response! Must be either 'y' or 'n'! Try again...\n");
        answer = ""; // Empty answer so to loop again.
    }
}
    
System.out.println("Your answer was: " + answer);

以类似的方式验证您的其他提示。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?