Java Grundlagen Frage.

Status
Für weitere Antworten geschlossen.

PfanneR

Lieutenant
Registriert
Nov. 2011
Beiträge
936
Hallo Leute,

ich lerne zur Zeit Java und hab da immer wieder mal paar Sachen zum üben:

Ich will mir ein Programm schreiben, indem ich zb ein Jahr eingebe.

Als Ausgabe will ich dann das mir folgendes Ausgegeben wird.

Jahr % 4 == 0 --> Schaltjahr
Jahr % 100 != --> kein Schaltjahr , ABER!
Jahr % 400 == 0 Schaltjahr

Wie ich das jetzt genau hinbekomme weiß ich nicht.
Muss ich hier mit boolean arbeiten ??

Den Code habe ich soweit fertig.

Wäre nett wenn mir hier jemad helfen kann ohne mit gleich den Kopf abzureißen warum man bei so ner leichte
Übung nicht weiter weiß.
Code:
public class LeapChecker {

	public static void main(String[] args) {

		
		int a;
		
		Scanner in = new Scanner(System.in);

		TextIO.put("enter year:\n");
		a = in.nextInt();
		{
		if (a % 4 == 0)
			TextIO.putln(a +" is/was a leap year");
		else
			TextIO.putln(a +" is/was not a leap year");
		
		}
	}

}
 
Du musst das einfach mit den logischen Operatoren verknüpfen, also in dem Fall ist das &&. Dieser Operator erlaubt es dir mehre Bedingungen zu verknüpfen. In deinem if Statement also einfach die zwei Bedingungen richtig einbauen. Das ist nur eine Zeile und das hier einfach dir hinschreiben will ich auch nicht.

Zu dem "muss ich hier mit boolean arbeiten", sagt vielleicht dass dir hier ein bisschen grundlegendes Verständnis fehlst. Sobald du mit if Statements arbeitest arbeitest du schon mit booleschen Werten, du schreibst bloß nicht explizit den Datentyp hin.
 
Zuletzt bearbeitet:
L0g4n schrieb:
Du musst das einfach mit den logischen Operatoren verknüpfen, also in dem Fall ist das &&. Dieser Operator erlaubt es dir mehre Bedingungen zu verknüpfen. In deinem if Statement also einfach die zwei Bedingungen richtig einbauen. Das ist nur eine Zeile und das hier einfach dir hinschreiben will ich auch nicht.

aber wie kann ich es richtig ausrücken ? a % 4 == 0 && a % 400 == 0 ist ja logisch , aber wenn ich das mache wird mir ja zb 2012 als " kein schaltjahr" ausgegeben
L0g4n schrieb:
Zu dem "muss ich hier mit boolean arbeiten", sagt vielleicht dass dir hier ein bisschen grundlegendes Verständnis fehlst. Sobald du mit if Statements arbeitest arbeitest du schon mit booleschen Werten, du schreibst bloß nicht explizit den Datentyp hin.

Achja stimmt das wird ja quasi durch die == bzw != usw ausgedrückt , war mein fehler
 
Zuletzt bearbeitet:
Ich glaube du prüfst erst ob mod 400 wahr ist. Wenn ja = Schaltjahr.
Dann prüfen ob 100, wenn ja = kein Schaltjahr.
Dann auf 4 prüfen, wenn ja ist es ein Schaltjahr.
Ansonsten ist es kein Schaltjahr :)
 
PfanneR schrieb:
Achja stimmt durch wird ja quasi durch die == bzw != usw ausgedrückt , war mein fehler

Durch? Durch wird mit / ausgedrückt und nicht mit == oder !=. == Heißt die beiden Variablen bzw. Werte vergleichen. Bsp: x wird hochgezählt und es kommt if(x==y), dann wird x mit y vergleichen. Sollte es gleich sein (beide Wert 3) dann gehts damit weiter. != ist dementsprechend ungleich.

Edit: Sieht mir nach einer Hausaufgabe oder dergleichen aus. Ich hatte genau das als eine meiner ersten Aufgaben im Studium. Allerdings da noch geschrieben in c. Java kam später...

Noch mal Edit: Der Modulo-Operator ist natürlich auch eine Art von "durch".
 
Zuletzt bearbeitet:
@BrainOtocho

Das "Durch" mit / ausgedrückt wird ist mir klar, ich glaube das habe ich falsch formuliert, mein Satz sollte eigentlich etwas anderes Bedeuten :)

Ja das stimmt, ebenfalls eine Anfangsübung für mein Studium, wir nehmen die Theorie in der Vorlesung durch und dann werden zuhause die Übungen durchgenommen um das auch praktisch anwenden zu können.
 
Müsst ihr dann auch eine Art Praktikum absolvieren? Wir haben immer solche Aufgaben bekommen und hatten dann eine Woche Zeit. Beim nächsten Termin musste man das dann zeigen und erklären. Plus es gab eine Liveaufgabe. 10 Minuten Zeit um etwas am Code zu ändern (neue Funktion einbauen oder so). Hat man das nicht geschafft, hat man das Praktikum nicht bestanden und durfte nicht zur Prüfung.

Ich kann da nur einen Tipp geben. Neben dem Unikram hat mir das hier sehr geholfen: Rheinwerk Java und natürlich stackoverflow.com.
 
Wie bekommen auch immer 5-6 "Programme" die wir schreiben und haben dafür auch 1 Woche Zeit. Ist jedoch keine Pflicht, am Ende des Semesters gibts dann die Abschlussprüfung. Ich werde mir das mal ansehen, danke für die Links!
 
Ich würde gerne auf die besonderen Regeln bzgl. Hausaufgaben/Übungen etc. in diesem Bereich hinweisen.

Falls du konkrete Fragen zu einem Gebiet hast, darfst du die gerne stellen, aber dieses Forum ist nicht dafür gedacht Übungsbeispiele zu diskutieren bzw. zu lösen.

Damit ist dann hier auch zu :)
 
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

Zurück
Oben