Java switch 语句将变量从一种情况调用到另一种情况

标签 java switch-statement

我正在制作一个非常简单的程序,它使用 switch 语句来选择将哪些数据归因于学生(情况 1 用于学生姓名,情况 2 用于 3 个测试分数等)但是,当在情况 3 中时,当我想要打印学生的概述,该案例无法调用案例 1 中修改的名字和姓氏字符串,而是在我实例化字符串时打印出 aaa 和 bbb。这是一个非常简单的问题,但我该如何做才能使案例 3 可以读取案例 1 中更新的变量。

import java.util.*;

public class studentDatabase { 
    public static void main (String [] args){

        int response = 0;
        Scanner input = new Scanner(System.in);
        while (response < 5) {
            //menu();
            System.out.print("\nEnter your selection: (1-5): ");
            response = input.nextInt();
            System.out.println();
            String firstName = "aaa";
            String lastName = "bbb";
            int[] scores = new int[3];

            switch(response) {
                case 1:
                    input.nextLine();
                    System.out.println("Enter first name and then last name");
                    firstName = input.nextLine();
                    lastName = input.nextLine();
                    break;

                case 2:

                    for (int i = 0; i < scores.length; i++){
                        System.out.println("Enter test # " + (i + 1));
                        scores[i] = input.nextInt();
                    }

                    break;

                case 3:
                    System.out.println(firstName + lastName);
                    System.out.println(scores[0] + "\n" + scores[1] + "\n" + scores[2]);
                    System.out.println((scores[0] + scores[1] + scores[2]) / 3);

                    break;
            }
        }
    } 
}

最佳答案

尝试在 while 循环之外声明变量,例如:

String firstName = "aaa";
String lastName = "bbb";
while (response < 5) {
    //All code here...
}

关于Java switch 语句将变量从一种情况调用到另一种情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53644430/

相关文章:

python - 如何在 Python 中搜索正则表达式匹配项?

javascript - 是否可以在 JavaScript 中添加 case 到 switch 语句?

java - Android 错误从线程返回空值

java - 看不懂这个Map.entry参数

从 Jmenu 中选择项目并单击按钮时出现 java.lang.NullPointerException

php - 如何在 PHP/MySQL 中将 ","读取为 "<br/>"?

java - 安卓未捕获异常

java - 贾因 SIP : Identify inbound IP for SIP message when listening on 0. 0.0.0

iphone - 可以在 Switch 语句中进行类型声明吗?

java - switch语句的每种情况的值有什么限制