当前位置: 首页 > 知识库问答 >
问题:

嵌套if语句,同时循环卡住

缪远
2023-03-14

该代码用于选择题。如果答案不正确,用户应该尝试,直到找到正确的答案。如果答案是正确的,就没有问题,但是如果答案是错误的,那么它就会被卡住,并不断地说“你的答案是错误的!”。我该怎么办?

import java.util.*;

public class Question {

    public static void main(String[] args) {
  
        System.out.println();
        System.out.println("Question 1");
        System.out.println();
        System.out.println("What is 2+2?");
        System.out.println("A. 2");
        System.out.println("B. 4");
        System.out.println("C. 6");
        System.out.println("D. 8");

        Scanner input = new Scanner(System.in);
        char getAnswerFromUser = input.next().charAt(0);
        char answer = 'B';

        boolean isAnswerTrue = false;

     
        while(!isAnswerTrue) {
            if(getAnswerFromUser == answer ) {
                System.out.println("Your answer is correct!");
                    isAnswerTrue = true;
            } else{
                System.out.println("Your answer is incorrect!");
                isAnswerTrue = false;
            }       
        }
    }   
}

共有1个答案

计承德
2023-03-14

实际上,你并没有从循环中的用户那里得到新的答案。在定义变量getAnswerFromUser的行中,只得到一次。你需要得到一个新的答案。我建议把它放在一个单独的方法中,以保持该步骤与使用该答案的步骤之间的清洁。

 类似资料:
  • 数据库表: 胶片(id\U胶片主键,名称) 流派(id_genrePK,名称) film_genre(id_filmFK,id_genreFK) 这将输出流派表中的所有流派: 这将输出特定电影的电影类型表中的所有选定类型: 我有一个问题,从数据库输出数据到多个选定的列表中的形式。这是一个电影数据库,我正在进行Foreach迭代,以读取电影流派的所有行,并输出到多个选择字段。但是我在向列表输出“选定

  • 前面章节中,详细介绍了 3 种形式的条件语句,即 if、if else 和 if elif else,这 3 种条件语句之间可以相互嵌套。 例如,在最简单的 if 语句中嵌套 if else 语句,形式如下: if 表达式 1:     if 表示式 2:         代码块 1     else:         代码块 2 再比如,在 if else 语句中嵌套 if else 语句,形式

  • Swift 条件语句 在 Swift 语言中,你可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 语法 Swift 语言中 嵌套 if 语句的语法: if boolean_expression_1 { /* 当 boolean_expression_1 表达式 true 时执行 */ if boolean_expression_2 {

  • C++ 判断 在 C++ 中,嵌套 if-else 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 语法 C++ 中 嵌套 if 语句的语法: if( boolean_expression 1) { // 当布尔表达式 1 为真时执行 if(boolean_expression 2) { // 当布尔

  • 在Objective-C编程中nest if-else语句总是合法的,这意味着你可以在另一个if或else if语句中使用if或else if语句。 语法 (Syntax) nested if语句的语法如下 - if( boolean_expression 1) { /* Executes when the boolean expression 1 is true */ if(bool

  • 在Pascal编程中嵌套if-else语句总是合法的,这意味着你可以在另一个if或else if语句中使用if或else if语句。 Pascal允许嵌套到任何级别,但是,如果依赖于特定系统上的Pascal实现。 语法 (Syntax) 嵌套if语句的语法如下 - if( boolean_expression 1) then if(boolean_expression 2)then S1 e