¿Por qué no se puede imprimir la variable String en este programa? [duplicar]

Oct 18 2020

Este código tiene el propósito de cambiar los meses a los códigos de letras correspondientes.

Aquí está mi código que escribí hasta ahora:

public static void main (String[ ] args) 

  {
  Scanner input = new Scanner(System.in); 
  System.out.print("Enter month number. [1..12] --> ");
  int month = input.nextInt();
  String MonthString;
  switch (month)
  {
   case 1 : MonthString = "ZS"; break;
   case 2 : MonthString = "CN"; break;
   case 3 : MonthString = "YH"; break;
   case 4 : MonthString = "MT"; break;
   case 5 : MonthString = "CL"; break;
   case 6 : MonthString = "SS"; break;
   case 7 : MonthString = "WM"; break;
   case 8 : MonthString = "WY"; break;
   case 9 : MonthString = "SH"; break;
   case 10 : MonthString = "YJ"; break;
   case 11 : MonthString = "XG"; break;
   case 12 : MonthString = "HZ"; break;
   default : System.out.print("This is not a valid month number.");
  }
  System.out.println(MonthString);/*This is where it won't compile*/
}

Respuestas

2 MajedBadawi Oct 18 2020 at 04:22

MonthStringPrimero debes inicializar :

String MonthString = null;
2 RandomCoder_01 Oct 18 2020 at 04:49
default: MonthString = "This is not a valid number";

debe asignar el valor predeterminado de su declaración de cambio, no imprimirlo ya que se imprimirá después de que finalice el cambio / caso.

Pluto Oct 18 2020 at 04:31

String monthString = "";Primero debes ponerte algo .

Tenga en cuenta las letras minúsculas y mayúsculas en un arranque variable:

Cuando inicializa una variable, debe inicializarse de la siguiente manera:

String firstExample= "Hello world";y no:, String FirstExample= "Hello world";Las clases reciben nombres con letras mayúsculas.

public static void main (String[ ] args)

      {
      Scanner input = new Scanner(System.in); 
      System.out.print("Enter month number. [1..12] --> ");
      int month = input.nextInt();
      String monthString = "";
      switch (month)
      {
       case 1 : monthString = "ZS"; break;
       case 2 : monthString = "CN"; break;
       case 3 : monthString = "YH"; break;
       case 4 : monthString = "MT"; break;
       case 5 : monthString = "CL"; break;
       case 6 : monthString = "SS"; break;
       case 7 : monthString = "WM"; break;
       case 8 : monthString = "WY"; break;
       case 9 : monthString = "SH"; break;
       case 10 : monthString = "YJ"; break;
       case 11 : monthString = "XG"; break;
       case 12 : monthString = "HZ"; break;
       default : System.out.print("This is not a valid month number.");
      }
      System.out.println(monthString);
    }
}

Salida:

Enter month number. [1..12] --> 1
ZS