samedi 30 mai 2015

Vergleich mit If-Schleife nur für Zahlen bis 07 möglich - Warum?

Hallo,

ich möchte ein Programm schreiben, welches mir zu einem Datum den gewünschten Wochentag ausgibt.
Das Programm habe ich soweit fertig, doch ich würde meine Abfrage für die Monate gerne in der Form 01,02,03,04,... für die Monate Januar, Februar, März aus der Konsole auslesen.

Immoment gebe ich nur eine Zahl ein, z.B 1 für Januar, 2 für Februar usw.

Jedoch bekomme ich bei meiner Überprüfung in der If-Schleife ab der Zahl 08 diese Meldung:
"The literal 08 of type int is out of range."

Könnte mir jemand erklären, wiso das so ist, und wenn möglich, eine Lösung geben, wie ich es machen könnte?

Hier der betreffende Ausschnitt:

Java Code:

  1.  
  2. public static void main(String[] args) {
  3. // TODO Auto-generated method stub
  4.  
  5.  
  6. int a1 = Eingabe.readInt("Bitte geben Sie die Tagesziffer Ihres Datums ein:");
  7. int a2 = Eingabe.readInt("Bitte geben Sie die Monatsziffer Ihres Datums ein:");
  8. int a3 = Eingabe.readInt("Bitte geben Sie die 2 Jahrhunderziffern (z.B 19 bei 1900) Ihres Datums ein:");
  9. int a4 = Eingabe.readInt("Bitte geben Sie die 2 Jahresziffern Ihres Datums ein:");
  10.  
  11. System.out.println("--------------------------------------");
  12. System.out.println("Ihr eingegebenes Datum lautet: " + a1 + "." + a2 + "." + a3 + a4);
  13. System.out.println();
  14. System.out.println("Der gesuchte Tag lautet:" + "\n");
  15. System.out.println("***************");
  16.  
  17. int erg2=0;
  18.  
  19. //Berechnung Tagesziffer
  20.  
  21. int erg1 = a1 % 7;
  22.  
  23.  
  24. //Berechnung Monatsziffer
  25.  
  26. if(a2==1)
  27. {
  28. int b1 = 0;
  29. erg2 = b1;
  30. }
  31.  
  32. if(a2==2)
  33. {
  34. int b2 = 3;
  35. erg2 = b2;
  36. }
  37.  
  38. if(a2==3)
  39. {
  40. int b3 = 3;
  41. erg2 = b3;
  42. }
  43.  
  44. if(a2==4)
  45. {
  46. int b4 = 6;
  47. erg2 = b4;
  48. }
  49.  
  50. if(a2==5)
  51. {
  52. int b5 = 1;
  53. erg2 = b5;
  54. }
  55.  
  56. if(a2==6)
  57. {
  58. int b6 = 4;
  59. erg2 = b6;
  60. }
  61.  
  62. if(a2==7)
  63. {
  64. int b7 = 6;
  65. erg2 = b7;
  66. }
  67.  
  68. if(a2==8)
  69. {
  70. int b8 = 2;
  71. erg2 = b8;
  72. }
  73.  
  74. if(a2==9)
  75. {
  76. int b9 = 5;
  77. erg2 = b9;
  78. }
  79.  
  80. if(a2==10)
  81. {
  82. int b10 = 0;
  83. erg2 =b10;
  84. }
  85.  
  86. if(a2==11)
  87. {
  88. int b11 = 3;
  89. erg2 = b11;
  90. }
  91.  
  92. if(a2==12)
  93. {
  94. int b12 = 5;
  95. erg2 = b12;
  96. }


Vergleich mit If-Schleife nur für Zahlen bis 07 möglich - Warum?

0 commentaires:

Enregistrer un commentaire