IF-Else Verknüpfungen

Chris_tunes

Mitglied
Hallo Leute!

Ich lerne gerade java Programmierung in der Schule, und habe als Hausübung folgendes Beispiel bekommen, leider habe ich irgendwo einen Fehler in meinem Quellcode!!!

Könnt ihr mir vielleicht helfen? Ich wäre euch echt über alles Dankbar!


Java:
/*Erstelle ein Programm, das die Urlaubstage für einen Arbeitnehmer berechnet.
			       

                                Geg.:    Lebensalter
				Ges.:    Anzahl der Urlaubstage
			
						16-20 Jahre  ...  25 Urlaubstage
						21-30 Jahre  ...  28 Urlaubstage
						31-40 Jahre  ...  31 Urlaubstage
						41-50 Jahre  ...  34 Urlaubstage
						51-65 Jahre  ...  37Urlaubstage
Überprüfen ob Arbeitnehmer zu jung oder zu alt!

*/


package IfVerschachtelungen;
import java.util.Scanner;

 class Urlaubstage { //definition class
    public static void main(String[] args) { //content starts
	 double Alter; //definition: Alter ( Age)
Scanner scanner = new Scanner(System.in); //definition of scanner
        System.out.println ("Bitte das Alter eingeben"); //input of Age
           Alter = scanner.nextInt();
        
          
	if (Alter < 16 && Alter > 65)   //if age less than 16 and more than 65
        {
	    System.out.println("Kein Urlaubsanspruch:"); //output: no vacation days
	} 
        else
        {
            if (Alter >= 16 && Alter <= 20)  //if Age equals and more than 16 years and equals less than 20 years: 
          {
              System.out.println("Anspruch auf 25 Tage Urlaub:"); //output: vacation days: 25 days
          }
         else if ( Alter <= 30) //Age equals or less than 30 years
          {
              System.out.println("Anspruch auf 28 Urlaubstage:"); //output: vacation days: 28 days
          }
        else if (Alter <= 40) //Age equals or less than 40 years
          {
              System.out.println("Anspruch auf 31 Urlaubstage:"); //output: vacation days: 31 days
          }
        else if (Alter <= 50) //age equals or less than 50 years
          {
              System.out.println("Anspruch auf 34 Urlaubstage:"); // output: vacation days: 34 days
          }
        else if (Alter <= 65) //age equals or less than 65 years
          {
              System.out.println("Anspruch auf 37 Urlaubstage:"); //output: vacation days: 37 days 
          }
        }
        
        
        
        
    }
 }


Ausgabe des Quellcodes:

HTML:
Bitte das Alter eingeben
14
Anspruch auf 28 Urlaubstage:
Anspruch auf 34 Urlaubstage:
Anspruch auf 37 Urlaubstage:

Dabei sollte hier angezeigt werden dass noch kein Urlaubsanspruch besteht, da erst ab 16 Jahre ein Urlaubsanspruch besteht. Selbiges gilt auch wenn ich ein anderes Alter eingeben, immer falsche Ausgaben.

Wir benutzen Netbeans (aktuelle Version 8.0) und ich auf meinem laptop habe Windows 8.1 am laufen!!
MFG Chris
 
Zuletzt bearbeitet:

BRoll

Bekanntes Mitglied
Haha das ist echt mal lustig lesen :

Java:
 if (Alter < 16 && Alter > 65)

fällt dir da echt garnichts auf? :D

Les es dir nochmal genau durch die Zeile und überlege
welche Alter damit angesprochen werden xD
 

Chris_tunes

Mitglied
Danke schon mal für eure Hilfe!!!

Oh...hihi...timmt, habs schon umgeändert....:toll:

Java:
if (Alter < 16 || Alter > 65)   //if age less than 16 and more than 65
        {
	    System.out.println("Kein Urlaubsanspruch:"); //output: no vacation days


Jetzt funktioniert die Ausgabe zwar unter 16 und über 65 Jahre, aber:

HTML:
Bitte das Alter eingeben
32
Anspruch auf 31 Urlaubstage:
Anspruch auf 34 Urlaubstage:
Anspruch auf 37 Urlaubstage:

Wir haben dieses Jahr nur eine Stunde Java programmierung, also sind wir auch dementsprechend noch nicht sehr weit gekommen, das meiste ist selbst Stundium. Erst nächstes Jahr geben wir dann ordentlich Gas.
 

VfL_Freak

Top Contributor
Moin,

Java:
if (Alter < 16 || Alter > 65)   //if age less than 16 and more than 65
der Code ist ok <besser noch immer klammern: if( (Alter < 16) || (Alter > 65) )>, dein Kommentar aber immer noch falsch!!

..., aber:
HTML:
Bitte das Alter eingeben
32
Anspruch auf 31 Urlaubstage:
Anspruch auf 34 Urlaubstage:
Anspruch auf 37 Urlaubstage:
Sehr unwahrscheinlich!! Klappt bei mir problemlos!
Dann hast Du nicht den Code gepostet, mitr dem Du compilierst!

Gruß
Klaus
 
Zuletzt bearbeitet:

Chris_tunes

Mitglied
Doch ich poste genau den Code den ich netbeans IDE 8.0 codiert habe.

Das Kommentar habe ich jetzt ausgebessert, und wirklich vielen Dank alle die mir so tatkräftig helfen!!!!!

Danke, Danke, Danke!!

Java:
/*Erstelle ein Programm, das die Urlaubstage für einen Arbeitnehmer berechnet.
			        Geg.:    Lebensalter
				Ges.:    Anzahl der Urlaubstage
			
						16-20 Jahre  ...  25 Urlaubstage
						21-30 Jahre  ...  28 Urlaubstage
						31-40 Jahre  ...  31 Urlaubstage
						41-50 Jahre  ...  34 Urlaubstage
						51-65 Jahre  ...  37Urlaubstage
Überprüfen ob Arbeitnehmer zu jung oder zu alt!

*/


package IfVerschachtelungen;
import java.util.Scanner;

 class Urlaubstage { //definition class
    public static void main(String[] args) { //content starts
	 double Alter; //definition: Alter ( Age)
Scanner scanner = new Scanner(System.in); //definition of scanner
        System.out.println ("Bitte das Alter eingeben"); //input of Age
           Alter = scanner.nextInt();
        
          
	if ((Alter < 16) || (Alter > 65))   //if age less than 16 or more than 65
        {
	    System.out.println("Kein Urlaubsanspruch:"); //output: no vacation days
	} 
        else
        {
            if (Alter >= 16 && Alter <= 20)  //if Age equals and more than 16 years and equals less than 20 years: 
          {
              System.out.println("Anspruch auf 25 Tage Urlaub:"); //output: vacation days: 25 days
          }
         else if ( Alter <= 30) //Age equals or less than 30 years
          {
              System.out.println("Anspruch auf 28 Urlaubstage:"); //output: vacation days: 28 days
          }
        else if (Alter <= 40) //Age equals or less than 40 years
          {
              System.out.println("Anspruch auf 31 Urlaubstage:"); //output: vacation days: 31 days
          }
         if (Alter <= 50) //age equals or less than 50 years
          {
              System.out.println("Anspruch auf 34 Urlaubstage:"); // output: vacation days: 34 days
          }
         if (Alter <= 65) //age equals or less than 65 years
          {
              System.out.println("Anspruch auf 37 Urlaubstage:"); //output: vacation days: 37 days 
          }
        }
        
        
        
        
    }
 }

und hier einige Versuche:

HTML:
Bitte das Alter eingeben
21
Anspruch auf 28 Urlaubstage:
Anspruch auf 34 Urlaubstage:
Anspruch auf 37 Urlaubstage:
BUILD SUCCESSFUL (total time: 5 seconds)

Bitte das Alter eingeben
31
Anspruch auf 31 Urlaubstage:
Anspruch auf 34 Urlaubstage:
Anspruch auf 37 Urlaubstage:
BUILD SUCCESSFUL (total time: 2 seconds)

Bitte das Alter eingeben
49
Anspruch auf 34 Urlaubstage:
Anspruch auf 37 Urlaubstage:
BUILD SUCCESSFUL (total time: 4 seconds)

Mit 21 Jahren sollte man 28 Urlaubstage haben,
mit 31 Jahren sollte man 31 Urlaubstage haben,
und mit 49 Jahren sollte man 34 Urlaubstage haben...
 

VfL_Freak

Top Contributor
Moin,

schau Dir mal Deine Zeilen 44 und 48 an !!!
Fällt dir da was auf :eek: ???:L

Tipp: '32' ist IMMER kleiner als '50' und auch IMMER kleiner als '65' :autsch:

Gruß
Klaus
 
Zuletzt bearbeitet:

Chris_tunes

Mitglied
Hallo Liebe Java Gemeinde!

Also wie ich das jetzt verstehe prüft mein "Programm" alle eingaben, die größer sind als der eingegebene Parameter (BSP: 32 Jahre), da 32 ja kleiner ist als als z.B.40,50, 60

Habe das Problem gerade erfolgreich gelöst, indem ich die Befehle in den If Anweisungen in Klammern gesetzt habe. Vielen Dank für eure Hilfe.

Quellcode sieht wie folgt aus:

Java:
/*Erstelle ein Programm, das die Urlaubstage für einen Arbeitnehmer berechnet.
			        Geg.:    Lebensalter
				Ges.:    Anzahl der Urlaubstage
			
						16-20 Jahre  ...  25 Urlaubstage
						21-30 Jahre  ...  28 Urlaubstage
						31-40 Jahre  ...  31 Urlaubstage
						41-50 Jahre  ...  34 Urlaubstage
						51-65 Jahre  ...  37Urlaubstage
Überprüfen ob Arbeitnehmer zu jung oder zu alt!

*/


package IfVerschachtelungen;
import java.util.Scanner;

 class Urlaubstage { //definition class
    public static void main(String[] args) { //content starts
	 double Alter; //definition: Alter ( Age)
Scanner scanner = new Scanner(System.in); //definition of scanner
        System.out.println ("Bitte das Alter eingeben"); //input of Age
           Alter = scanner.nextInt();
        
          
	if ((Alter < 16) || (Alter > 65))   //if age less than 16 or more than 65
        {
	    System.out.println("Kein Urlaubsanspruch:"); //output: no vacation days
            
	} 
        else
        {
            if ((Alter >= 16) && (Alter <= 20))  //if Age equals and more than 16 years and equals less than 20 years: 
          {
              System.out.println("Anspruch auf 25 Tage Urlaub:"); //output: vacation days: 25 days
              
          }
         else if ( (Alter <= 30) && (Alter <=39)) //Age equals or less than 30 years
          {
              System.out.println("Anspruch auf 28 Urlaubstage:"); //output: vacation days: 28 days
          }
        else if ((Alter <= 40) && (Alter <=49)) //Age equals or less than 40 years
          {
              System.out.println("Anspruch auf 31 Urlaubstage:"); //output: vacation days: 31 days
          }
        else if ((Alter <= 50) && (Alter <=64)) //age equals or less than 50 years
          {
              System.out.println("Anspruch auf 34 Urlaubstage:"); // output: vacation days: 34 days
          }
          else if (Alter <= 65) //age equals or less than 65 years
          {
              System.out.println("Anspruch auf 37 Urlaubstage:"); //output: vacation days: 37 days 
          }
        }
        
        
        
        
    }
 }

Vielen, vielen Danke für Eure Hilfe nochmal =)
 
Zuletzt bearbeitet:

Joose

Top Contributor
Habe das Problem gerade erfolgreich gelöst, indem ich die Befehle in den If Anweisungen in Klammern gesetzt habe. Vielen Dank für eure Hilfe.


Das Problem bei Post #7 waren nur fehlende "else" Keywords vor den letzten beiden if-Anweisungen.
Die sind auf komische Art und Weise zwischen Post #1 und #7 verschwunden ;)

Java:
........
         else if ( (Alter <= 30) && (Alter <=39)) //Age equals or less than 30 years
          {
              System.out.println("Anspruch auf 28 Urlaubstage:"); //output: vacation days: 28 days
          }
        else if ((Alter <= 40) && (Alter <=49)) //Age equals or less than 40 years
          {
              System.out.println("Anspruch auf 31 Urlaubstage:"); //output: vacation days: 31 days
          }
        else if ((Alter <= 50) && (Alter <=64)) //age equals or less than 50 years
          {
              System.out.println("Anspruch auf 34 Urlaubstage:"); // output: vacation days: 34 days
          }
.........

Du kannst dir die 2ten Abfragen jeweils sparen! Diese ergeben keinen Sinn ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
I If / Else in Setter? Java Basics - Anfänger-Themen 8
M If-Else Java Basics - Anfänger-Themen 5
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
laxla123 Verschachtelte If-Else Schleife Java Basics - Anfänger-Themen 21
laxla123 If-else Java Java Basics - Anfänger-Themen 4
luggas89 If else auch mit unterschiedlichen Antworten Java Basics - Anfänger-Themen 5
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
W Verschachtelte If-else --> finde meinen Fehler nicht Java Basics - Anfänger-Themen 30
pumpgun99 Fehler Meldung "else without if" Java Basics - Anfänger-Themen 3
B Scanner-If/else kleine Abhebungs-Simulation Java Basics - Anfänger-Themen 3
A Übung Else if Java Basics - Anfänger-Themen 2
M Else wird nicht ausgeführt. Java Basics - Anfänger-Themen 5
L If und else bei 2 Dimensionalen Arrays Java Basics - Anfänger-Themen 8
F if else if anfängerfrage Java Basics - Anfänger-Themen 22
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
C Problem mit If Else If und Überprüfung eines Counters Java Basics - Anfänger-Themen 3
T "Einkauf" & if else Struktur Java Basics - Anfänger-Themen 7
steven789hjk543 Input mit if-else Java Basics - Anfänger-Themen 23
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
A break; mit Einfluss hinter else if Block Java Basics - Anfänger-Themen 3
R else without if error Java Basics - Anfänger-Themen 5
F Methoden Verschachtelte if else Methode Java Basics - Anfänger-Themen 10
M Java Taschenrechner (if-else) Java Basics - Anfänger-Themen 11
C Variablen 'else' without 'if' Java Basics - Anfänger-Themen 4
F If - Else Java Basics - Anfänger-Themen 3
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
I if/else Statements Java Anfänger Java Basics - Anfänger-Themen 14
M jOptionPane mit if else Java Basics - Anfänger-Themen 16
K Frage zu If & else if Java Basics - Anfänger-Themen 5
R else if anweisungen Java Basics - Anfänger-Themen 2
Y Problem mit If-Else Verzweigung! Java Basics - Anfänger-Themen 9
A Warum funktioniert switch aber nicht if/else? Java Basics - Anfänger-Themen 23
Hijo2006 If-else Java Basics - Anfänger-Themen 6
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
T If/ Else If (zurückkehren) Java Basics - Anfänger-Themen 4
O Grosse If / Else verschachtelung übersichlitcher gestlten Java Basics - Anfänger-Themen 6
S Erste Schritte Unterschied "if" und "else if" Java Basics - Anfänger-Themen 27
M If in einem else Java Basics - Anfänger-Themen 14
A boolean Methode ohne If und else Java Basics - Anfänger-Themen 1
J Mehrere IF Anweisungen und dazugehörige ELSE Java Basics - Anfänger-Themen 6
C else in if umschreiben Java Basics - Anfänger-Themen 2
J Fehlermeldung else without if Java Basics - Anfänger-Themen 5
P Compiler-Fehler wieso zeigt der compiler ein else without if? Java Basics - Anfänger-Themen 3
E If...else... Java Basics - Anfänger-Themen 7
G Mehrere If-else-Sätze der Reihe nach durchlaufen lassen Java Basics - Anfänger-Themen 2
C If Else Frage Java Basics - Anfänger-Themen 2
M if, else Anweisung Java Basics - Anfänger-Themen 3
J Ergebnis wird gespammt sowie eine else if Frage Java Basics - Anfänger-Themen 2
A instanceof-if-else-Anweisungen eleganter lösen Java Basics - Anfänger-Themen 5
O if and else geht nur manchmal Java Basics - Anfänger-Themen 17
V Operatoren Java if-else argument Java Basics - Anfänger-Themen 4
D Keine Funktion bei "else" Java Basics - Anfänger-Themen 5
P [ANFÄNGER] if else funktioniert nicht Java Basics - Anfänger-Themen 4
T If, else Problem Java Basics - Anfänger-Themen 12
Uzi21 if - else Abfrage Java Basics - Anfänger-Themen 6
T Problem im If-Else-Statement Java Basics - Anfänger-Themen 4
R if funktion ohne else - Bedingung trifft nicht zu, ausgabe nicht nachvollziehbar Java Basics - Anfänger-Themen 7
T If ; else error on system token delete Java Basics - Anfänger-Themen 5
N Best Practice Stilistische Anwendung von if/else-Abfragen Java Basics - Anfänger-Themen 7
L else without if Fehler Java Basics - Anfänger-Themen 14
F try/catch - (else) Java Basics - Anfänger-Themen 11
H Worauf bezieht sich die erste else-Anweisung Java Basics - Anfänger-Themen 9
S if und else problem... Java Basics - Anfänger-Themen 13
Q if-else Logikproblem Java Basics - Anfänger-Themen 4
M Probleme mit else if Java Basics - Anfänger-Themen 15
M Erste Schritte Break-Anweisung bei if-else Java Basics - Anfänger-Themen 6
B OOP If und else in Main class einbinden Java Basics - Anfänger-Themen 9
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
K Bedingungen else Java Basics - Anfänger-Themen 7
B if-else in einer schleife Java Basics - Anfänger-Themen 14
J Erste Schritte If-Else Idee gesucht Java Basics - Anfänger-Themen 6
T if else Java Basics - Anfänger-Themen 8
R boolean, if-else Java Basics - Anfänger-Themen 7
M if then else geht nicht Java Basics - Anfänger-Themen 10
P int-Wertevergleich mit if-else-Verzweigung Java Basics - Anfänger-Themen 3
P If-else-Verzweigung Java Basics - Anfänger-Themen 9
E Compiler-Fehler Fehler: else without if Java Basics - Anfänger-Themen 11
D Java Einsteiger (boolean, if-else etc.) Java Basics - Anfänger-Themen 7
I Methoden Problem If/Else; Public Void Java Basics - Anfänger-Themen 6
P Anzahl der else if Operatoren begrenzt?? Java Basics - Anfänger-Themen 7
K Mal wieder ein Problem mit If / Else Java Basics - Anfänger-Themen 10
K Anfänger If / Else Problem Java Basics - Anfänger-Themen 5
C if else Abfrage Java Basics - Anfänger-Themen 11
T Umschreiben von switch in if else und umgekehrt Java Basics - Anfänger-Themen 9
C Schleifen, if, else......? Java Basics - Anfänger-Themen 8
2 if und else Java Basics - Anfänger-Themen 9
L If/else nicht korrekt ausgeführt. Java Basics - Anfänger-Themen 22
E Verschachtelte If-Anweisungen - "else without if" Java Basics - Anfänger-Themen 4
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
S if-else Java Basics - Anfänger-Themen 22
A ein if else problem Java Basics - Anfänger-Themen 13
N If-else-If Leiter Java Basics - Anfänger-Themen 9
U Dringend: Syntax error on token "else" Java Basics - Anfänger-Themen 8
L if else anweisung Java Basics - Anfänger-Themen 2
M If/Else mit Zahlenfolge Java Basics - Anfänger-Themen 13
B Problem mit Variable und if/else Java Basics - Anfänger-Themen 6
H alternativen zu if .. else .. Java Basics - Anfänger-Themen 11
J Geschachtelte If-Else Anweisung Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben