Anfänger Anfänger Fragen

classPatrick

Mitglied
Alsoooo vorne weg ich habe "gerade erst" angefangen mit java zu arbeiten(diverse tutorials etc...,) möchte erstmal den spaß darin finden und sehen ob es mir überhaupt liegt. :)

Wenn ihr also tipps oder sonstige hilfreichen ratschläge parat habt immer her damit :D

Nun zur eigentlichen frage da ich schon einige tutorials gesehen habe wollte ich mein erstes kleines projekt starten sowas wie "errate wie alt ich bin"

Ich schätze mal ich brauch nen while loop? damit ich auch wenn ich falsch rate wieder tippen kann?

Danke im vorraus :)

Java:
import java.util.Scanner;

class test{
	public static void main(String args[]){
		Scanner boy = new Scanner(System.in);
		
		double boy1, answer;
		boy1 = 15; 

		
			System.out.println("So how old do you think am i?");
			
			boy1 = boy.nextDouble();
			
			if (boy1 == 15){
				System.out.println("correct");
			}else{
				System.out.println("not correct");
			}
		
	}
	
}
 

Sinus

Aktives Mitglied
Hallo,

versuchs mit einer while Schleife

Gruß Sinus

Java:
import java.util.Scanner;

class test{
	public static void main(String args[]){
		Scanner boy = new Scanner(System.in);
		
		double boy1, answer;
		boy1 = 15; 
            
         while(true) {
		
			System.out.println("So how old do you think am i?");

			if (boy1==9999) {
                              System.out.println("program wird beendet");
                              break;
                        }

			boy1 = boy.nextDouble();
			
			if (boy1 == 15){
				System.out.println("correct");
			}else{
				System.out.println("not correct");
			}
		
	}
   }
	
}
[/QUOTE]
 

classPatrick

Mitglied
Hallo,

versuchs mit einer while Schleife

Gruß Sinus

Java:
import java.util.Scanner;

class test{
	public static void main(String args[]){
		Scanner boy = new Scanner(System.in);
		
		double boy1, answer;
		boy1 = 15; 
            
         while(true) {
		
			System.out.println("So how old do you think am i?");

			if (boy1==9999) {
                              System.out.println("program wird beendet");
                              break;
                        }

			boy1 = boy.nextDouble();
			
			if (boy1 == 15){
				System.out.println("correct");
			}else{
				System.out.println("not correct");
			}
		
	}
   }
	
}
[/QUOTE]


Vielen Dank! hilft mir schon weiter :D
 

Ilyustar

Mitglied
Schau dir deinen Code nochmal genau an und überlege was genau gemacht wird. Generell empfiehlt es sich "sinnvolle" Namen für die Variablen zu verwenden um den Überblick zu behalten.

- dein Scanner würde ich umbennenen (in scanner/scan/s/s1)
- du deklarierst eine Variable für das Alter (boy1) und für eine Antwort(answer)
- dann gibst du in jedem Schritt der While-Schleife die Frage aus "Wie alt bin ich?"
- du beendest das Programm wenn das Alter 9999 entspricht
- du weist dem Alter die über den Scanner erfasste Zahl zu (damit weisst du später nicht mehr welches Alter überhaupt das richtige ist)
- im letzten Abschnitt prüfst du ob das Alter (dass sich durch die Eingaben ändert 15 ist)
- wenn du die 15 hier überprüfst und "fest" reinschreibst ist die Variable dafür ja theoretisch überflüssig
- wird für ein Alter der Datentyp Double benötigt?

Ich hatte hier erst eine Lösung parat, jedoch bin ich der Meinung, dass dir das wenig bringt, da du ja etwas lernen möchtest.

Zum Lösungsansatz bzw. "einfacheren" Aufgabenstellung: Bau dir einen Scanner und eine Variable in der du das Alter festlegen möchtest. Um das Ganze "schöner/verständlicher" zu machen gebe auf der Konsole aus worum es geht (stell die Frage nach dem Alter).

Innerhalb einer While-Schleife frage die vom Scanner erfasste Zahl (die, die in der Konsole eingegeben wird) ab und überprüfe ob sie mit der Variable Alter übereinstimmt. Wenn dies der Fall ist gebe eine "Erfolgs"-Nachricht über die Konsole aus und beende die While-Schleife. Wenn Sie nicht dem Alter entspricht, fordere die Person über eine Konsolenausgabe dazu auf es erneut zu versuchen.

Wenn du das umgesetzt hast, kannst du das Ganze auch noch erweitern z.B. könntest du falls Falsch geraten wird dem Spieler einen Tipp geben ob die Eingegebene Zahl zu hoch oder zu niedrig ist. Zusätzlich ist es mit der "einfachen" Lösung so, dass du nur Zahlen in die Konsolen eingeben kannst und er bei Buchstaben eine Fehlermeldung zeigt, vielleicht könnte man sich noch überlegen ob das nicht vielleicht verhindert werden könnte? :)

Viel Spass :rtfm:
 

Joose

Top Contributor
Generell empfiehlt es sich "sinnvolle" Namen für die Variablen zu verwenden um den Überblick zu behalten.

- dein Scanner würde ich umbennenen (in scanner/scan/s/s1)

Widersprichst dir selber ;)
Code:
s
und
Code:
s1
sind schon mal keine sinnvollen bzw. sprechende Namen.
Code:
scan
klingt für mich eher nach einer Methode, daher würde ich einfach
Code:
scanner
nehmen. :)

@classPatrick

Java:
while(true) {
   System.out.println("So how old do you think am i?");
   if (boy1==9999) { 
      System.out.println("program wird beendet");
      break;
   }
   boy1 = boy.nextDouble();
   if (boy1 == 15){
      System.out.println("correct");
   }else{
      System.out.println("not correct");
   }
}

Ich würde von solchen
Code:
while(true)
-Endlosschleifen Abstand nehmen! Verwende immer eine sinnvolle Abbruchbedingung statt break/return.

Vorschlag:
Java:
boolean solved = false; // Abbruchbedingung
while(!solved) { // solange diese nicht zutrifft führe die schleife aus!
   System.out.println("So how old do you think am i?");
   boy1 = boy.nextDouble();
   if (boy1 == 15){
      System.out.println("correct");
      solved = true; // frage beantwortet, daher die abbruchbedingung setzen damit die schleife beendet
   }else{
      System.out.println("not correct");
   }
}
System.out.println("program wird beendet");
 

Sinus

Aktives Mitglied
Ich würde von solchen
Code:
while(true)
-Endlosschleifen Abstand nehmen! Verwende immer eine sinnvolle Abbruchbedingung statt break/return.

Vorschlag:
Java:
boolean solved = false; // Abbruchbedingung
while(!solved) { // solange diese nicht zutrifft führe die schleife aus!
   System.out.println("So how old do you think am i?");
   boy1 = boy.nextDouble();
   if (boy1 == 15){
      System.out.println("correct");
      solved = true; // frage beantwortet, daher die abbruchbedingung setzen damit die schleife beendet
   }else{
      System.out.println("not correct");
   }
}
System.out.println("program wird beendet");

deine Methode ist sicherlich eleganter.
Aus welchem Grund sollte man vor returns und breaks Abstand nehmen?
 

Joose

Top Contributor
deine Methode ist sicherlich eleganter.
Aus welchem Grund sollte man vor returns und breaks Abstand nehmen?

break/return in Schleifen haben schon ihre Berechtigung.
Es ging mir generell um die
Code:
while(true)
Schleife.
Weil du kannst zu allen eine Abbruchbedingung definieren und dann sollte man das auch an entsprechender Stelle überprüfen lassen und nicht irgendwo in der Schleife.

Vorteile sind unter anderem: Du hast nur eine Stelle an der diese Prüfung erfolgt und musst daher auch nur eine Stelle ändern wenn sich diese Bedingung ändert, man kann direkt am Schleifenkopf erkennen was die Abbruchbedingung ist (bei nur break/return musst du diese im Code erstmals finden)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
G Anfänger-Errors und Fragen Java Basics - Anfänger-Themen 22
K Java Anfänger und paar Fragen=D Java Basics - Anfänger-Themen 7
S Viele Fragen von einem Anfänger in Java Java Basics - Anfänger-Themen 2
T Fragen vom Java Anfänger Java Basics - Anfänger-Themen 8
M Anfänger Fragen zu EMF Java Basics - Anfänger-Themen 15
J Anfänger-Fragen: Java Basics - Anfänger-Themen 3
B OOP was heißt objektorientiertes Programmieren (fragt ein absoluter Anfänger) Java Basics - Anfänger-Themen 17
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
H Threads Anfänger Java Basics - Anfänger-Themen 17
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
J Anfänger, Fehler; "Der Hund liegt begraben" Java Basics - Anfänger-Themen 3
K Buchstabenzähler Java (Anfänger) Java Basics - Anfänger-Themen 35
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
ehmo würfelspiel programmieren anfänger Java Basics - Anfänger-Themen 1
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
_Zabuza_ Erste Schritte Wie am effektivsten Java lernen als Anfänger? Java Basics - Anfänger-Themen 12
T Roulette für Anfänger Java Basics - Anfänger-Themen 7
K Java Anfänger Java Basics - Anfänger-Themen 5
F Hilfe für einen Anfänger! Java Basics - Anfänger-Themen 4
S Ein Java Anfänger braucht Hilfe Java Basics - Anfänger-Themen 5
P Übungsaufgaben für Anfänger? Java Basics - Anfänger-Themen 2
Z Unklarheit bei Übungsaufgabe [Anfänger] Java Basics - Anfänger-Themen 22
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
O Anfänger, Verständnisfrage Java Basics - Anfänger-Themen 3
CT9288 Mini Anfänger-Problem mit loops, statements und ; Java Basics - Anfänger-Themen 4
F Hilfe, bin Anfänger! Java Basics - Anfänger-Themen 4
R Erste Schritte Materialien für Java-Anfänger Java Basics - Anfänger-Themen 7
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
F Studium aufgabe ...Anfänger sucht hilfe :D Java Basics - Anfänger-Themen 24
F Anfänger braucht Hilfe :) Java Basics - Anfänger-Themen 3
F Abrechnungsprogramm erstellen Student (Anfänger) Java Basics - Anfänger-Themen 2
D Anfänger braucht Hilfe Java Basics - Anfänger-Themen 2
J Musikplayer zu schwer für Anfänger? Java Basics - Anfänger-Themen 3
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
Textsurfer Methoden Anfänger * Java Basics - Anfänger-Themen 5
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
C verwirrter Anfänger Java Basics - Anfänger-Themen 6
L Verzinsungsprogramm (Java-Anfänger) Java Basics - Anfänger-Themen 3
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
I if/else Statements Java Anfänger Java Basics - Anfänger-Themen 14
H Schleifen (anfänger) Java Basics - Anfänger-Themen 13
H Methoden Bluej Anfänger Java Basics - Anfänger-Themen 13
M Erste Schritte Einfache Aufzugssteuerung programmieren - Anfänger Java Basics - Anfänger-Themen 2
D Anfänger-Problem mit dem HalloWelt-Programm Java Basics - Anfänger-Themen 5
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
V Erste Schritte Java-Anfänger braucht Hilfe bei Arrays Java Basics - Anfänger-Themen 19
V Array mit Zufallszahlen - Anfänger - Hilfe Java Basics - Anfänger-Themen 12
J Anfänger hat Problem mit seinen Beet Java Basics - Anfänger-Themen 12
D Compiler-Fehler Anfänger Fehlermeldung Java Basics - Anfänger-Themen 3
das_leon if als Auswahl (Anfänger) Java Basics - Anfänger-Themen 1
N Anfänger Problem Java Basics - Anfänger-Themen 4
GoodGuy [Anfänger] Kann mal wer drüber gucken? Java Basics - Anfänger-Themen 3
R Erste Schritte Anfänger Probleme bei AnimationDrawable Java Basics - Anfänger-Themen 0
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
C Taxiwarteschlange - Anfänger Java Basics - Anfänger-Themen 2
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
I Java, Application, Eclipse (Anfänger) Java Basics - Anfänger-Themen 1
M Java Anfänger - Video Tutorial Reihe (DEUTSCH) Java Basics - Anfänger-Themen 11
C Anfänger: Array + Klasse Java Basics - Anfänger-Themen 5
S OOP Uhrenanzeige programmieren, Achtung Anfänger! Java Basics - Anfänger-Themen 9
B Compiler-Fehler Ein Java-Eclipse-Anfänger geht auf Reisen... Java Basics - Anfänger-Themen 10
I totaler Anfänger braucht Hilfe Java Basics - Anfänger-Themen 8
I Erste Schritte Bücher für Jungedliche[Anfänger] Java Basics - Anfänger-Themen 20
T Hallo anfänger braucht Hilfe :D Java Basics - Anfänger-Themen 7
A Anfänger Taschenrechner Frage Java Basics - Anfänger-Themen 14
D error: Class names, >>>HILFE, anfänger<<< Java Basics - Anfänger-Themen 4
J Hilfe für Anfänger Java Basics - Anfänger-Themen 8
E OOP Methode an andere Methode übergeben / OOP Anfänger Java Basics - Anfänger-Themen 4
Farbenfroh Exceptions Anfänger - Finde Fehler nicht Java Basics - Anfänger-Themen 7
H MergeSort (für Anfänger ) Java Basics - Anfänger-Themen 9
X Projekt Java Anfänger Java Basics - Anfänger-Themen 28
C Fehlersuche Adressbuch *Anfänger* Java Basics - Anfänger-Themen 5
C Anfänger braucht Hilfe bei Schularbeit Java Basics - Anfänger-Themen 3
J Erste Schritte Hilfe bei absolutem Anfänger-Projekt Java Basics - Anfänger-Themen 4
F Anfänger braucht Hilfe Java Basics - Anfänger-Themen 24
A Erste Schritte Übungen für Anfänger Java Basics - Anfänger-Themen 31
M Sieb des Eratosthenes für Anfänger Java Basics - Anfänger-Themen 10
M Tipps für einen Java-Anfänger Java Basics - Anfänger-Themen 5
S Anfänger Aufgaben Java Basics - Anfänger-Themen 6
S Java für Anfänger: Probleme mit read() Java Basics - Anfänger-Themen 20
P [Anfänger] DiceGame Aufagbe Java Basics - Anfänger-Themen 23
C Input/Output Anfänger Array-Verständnis Frage Java Basics - Anfänger-Themen 7
W Erste Schritte OOP-Lektüre für Anfänger/Umsteiger von Clipper auf Java Java Basics - Anfänger-Themen 6
J Welches Java-Videotutorial für Anfänger empfehlenswert? Java Basics - Anfänger-Themen 7
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben