首页 > 解决方案 > 如何确保正在阅读我的 else 语句?-Java 的全新

问题描述

我是编码的新手,并试图弄清楚为什么我的 else 语句不起作用。我不确定是不是因为我的布尔语句。我尝试将布尔值添加为 false ,但这不起作用。

import java.util.Scanner;
public class Practice {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Are you exercising tonight?");
        String answer = input.nextLine();
        System.out.println("You said " + answer + " Are you sure?");
        String answer2 = input.nextLine();
        boolean Yes = true;
        if (Yes) {
            System.out.println("Good. That's what I wanted to hear");
        } else {
            System.out.println("WRONG ANSWER");
        }
    }
}

标签: java

解决方案


您需要将Yes变量设置为要检查的条件:

import java.util.Scanner;

public class Practice {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        
        System.out.println("Are you exercising tonight?");
        String answer = input.nextLine();
    
        if (answer.equalsIgnoreCase("yes")) {
            System.out.println("Good. That's what I wanted to hear");
        } else {
            System.out.println("WRONG ANSWER");
        }
    }   
} 

如果您想确保用户输入了正确的内容(“您确定吗?”部分),您可以添加一个循环:

import java.util.Scanner;

public class Practice {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        
        String answer;
        while (true) {
            System.out.println("Are you exercising tonight?");
            answer = input.nextLine();

            System.out.println("You said " + answer + " Are you sure?");
            String answer2 = input.nextLine();

            // If the user is sure, break the loop
            if (answer2.equalsIgnoreCase("yes")) break;

            // Implicit else: ask the user again
        }
    
        if (answer.equalsIgnoreCase("yes")) {
            System.out.println("Good. That's what I wanted to hear");
        } else {
            System.out.println("WRONG ANSWER");
        }
    }   
} 

推荐阅读