使用开关错误编写程序

writing a program using switch error

请检查为什么我的 "stringYear" 似乎还没有初始化?每次我在 jcreator 中构建文件时,都会出现 1 个错误,它说 - 变量 yearString 可能尚未初始化。

指令是获取输入(年份代码 1 - 4)并将其输出为第一年和新生为 1,第二年和二年级为 2,第三年和大三为 3,第四年和大四为 4。

下面的代码。

import java.util.Scanner;
import java.io.*;

public class yearSWITCH {

    public static void main(String[] a) {
    Scanner keyboard = new Scanner(System.in);
    System.out.print("Enter year code: ");  
    System.out.println("");

        int year = 4;
        String yearString;
        switch (year) {
            case 1: yearString = "First Year";
                    yearString = "Freshmen";
                    break;
            case 2: yearString = "Second Year";
                    yearString = "Sophomore";
                    break;
            case 3: yearString = "Third Year";
                    yearString = "Junior";
                    break;
            case 4: yearString = "Fourth Year";
                    yearString = "Senior";
                    break;
        }
        System.out.println(yearString);
    }
}

您必须使用任何值初始化您的 String,对于您的情况,如果您按如下方式初始化您的 String 就可以正常工作:

String yearString = ""; //String is empty

但请记住,您在 any case (1,2,3,4) 中的 第二个语句 覆盖 变量的任何先前值 yearString 因此,print 语句中 particular case 的唯一输出将是 Senior。此问题的解决方案是初始化 2 Strings 并进行如下更改:

String yearString1 = "";
String yearString2 = "";
    switch (year) {
        case 1: yearString1 = "First Year";
                yearString2 = "Freshmen";
                break;
        case 2: yearString1 = "Second Year";
                yearString2 = "Sophomore";
                break;
        case 3: yearString1 = "Third Year";
                yearString2 = "Junior";
                break;
        case 4: yearString1 = "Fourth Year";
                yearString2 = "Senior";
                break;
        default:
                System.out.println("Invalid Input");
                break;
    }
    System.out.println(yearString1 + "\n " +yearString2);

你可以初始化它。

String yearString = "";

请找到下面的代码..我想这会消除你的疑虑。编写代码时,请使用 IDE 。 IDE 会帮你找出错误。

代码是:

package com.raju;

import java.util.Scanner;


public class YearCheck {

    public static void main(String[] a) {
    Scanner keyboard = new Scanner(System.in);
    System.out.print("Enter year code: ");  

        int year = keyboard.nextInt();
        String yearString="";
        switch (year) {
            case 1: yearString = "First Year";
                    yearString = "Freshmen";
                    break;
            case 2: yearString = "Second Year";
                    yearString = "Sophomore";
                    break;
            case 3: yearString = "Third Year";
                    yearString = "Junior";
                    break;
            case 4: yearString = "Fourth Year";
                    yearString = "Senior";
                    break;
            default:
                System.out.println("you have entered the value greater than 4");
                break;
        }
        System.out.println(yearString);
    }
}