if anweisung

Neue Frage »

Auf diesen Beitrag antworten »
gg_ if anweisung

Meine Frage:
ich habe im Internet eine Seite gefunden die Übungsaufgaben anbietet. Nun habe ich mir eine Aufgabe ausgesucht die da lautet: Schreiben Sie ein Programm, dass den Anwender nach seinem Geburtsjahr fragt, kodiert als zwei Ziffern (wie "62"), und nach dem aktuellen Jahr fragt, ebenfalls kodiert als zwei Ziffern (wie 99). Das Programm soll das richtige Alter des Anwenders in Jahren ausgeben.
Aber wie kann ich zum beispiel Geburtsjahr(62) aktuelle Jahr (04). Als Ergebnis kommt was falsches raus.

Meine Ideen:
mein Ansatz bis jetzt:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
import java.util.Scanner;


public class Jahr {

	public static void main(String[] args) {
		
		Scanner scan = new Scanner (System.in);
		
		System.out.println("Geburtsjahr: ");
		int geburt = scan.nextInt();
		
		System.out.println("Aktuelle Jahr: ");
		int aktuell = scan.nextInt();
		
		System.out.println("Ihr Alter: ");
                System.out.println(aktuell-geburt);

		
		

	}

}

 
Auf diesen Beitrag antworten »
eulerscheZahl

Die Aufgabe wurde wohl vor der Jahrtausendwende erstellt.
Mein Vorschlag: if (alter < 0) alter += 100;
Auf diesen Beitrag antworten »
gg_

aber warum inkrementierst du mit 100 das habe ich nicht verstanden. verwirrt
Auf diesen Beitrag antworten »
eulerscheZahl

Das Problem ist ja:
Geburtsjahr = 1962
aktuelles Jahr = 2004
Es liegen also 100 Jahre zwischen Geburt und aktuellem Datum, die in der Eingabe nicht erfasst werden.
Diese 100 Jahre werden korrekturgerechnet, wenn sonst ein negatives Alter herauskommen würde.
 
Auf diesen Beitrag antworten »
gg_

Daumen hoch
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »