Операторы переключения Java, вызывающие переменные из одного случая в другой - PullRequest
0 голосов
/ 06 декабря 2018

Я делаю очень простую программу, которая использует операторы switch, чтобы выбрать, какие данные приписывать ученику (случай 1 для имени студента, случай 2 для 3 баллов за тест и т. Д.) Однако, когда в случае 3, когда я хочунапечатать обзор студента, дело не может вызвать строки firstName и lastName, которые были изменены в случае 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;
            }
        }
    } 
}

1 Ответ

0 голосов
/ 06 декабря 2018

Попробуйте объявить переменные вне цикла while, например:

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