Fehler bei Bedingung

yan

Grünschnabel
ICh hab versucht ein programm zu schreiben das mir sagt ob eine vom benutzer eingegebene zahl größer oder kleiner ist als die zahl x, und das so lange bis der benutzer die Zhal x eingiebt, ich glaube etwas funktioniert nicht an der if schleife, ich komm bloß nicht dauf was:s

Code:
package ratespiel;

import javax.swing.JOptionPane;

public class ratespiel {

	public static void main(String[] args) {
		String eingabe;
		int z;
		
		int x=(int)((Math.random())*99+1);
		System.out.println(x);
		JOptionPane.showMessageDialog(null,"In diesem Ratespiel geht es darum die Zahl x zu ermitteln. "
				+ "Die gesuchte Zahl ist größer/gleich als 0 und kleiner/gleich 100");
		
		
		
		eingabe=JOptionPane.showInputDialog("Geben sie eine Zahl ein!");
		z=Integer.parseInt(eingabe);
		
		
		while(z!=x){
			if(z<x)
			{
				JOptionPane.showMessageDialog(null,"Die gesuchte Zahl ist größer.");
				eingabe=JOptionPane.showInputDialog("Geben sie eine Zahl ein!");
			}
			
		
			if(x>z)
			{
				JOptionPane.showMessageDialog(null,"Die gesuchte Zahl ist kleiner.");
				eingabe=JOptionPane.showInputDialog("Geben sie eine Zahl ein!");
			}
			
			
		}
		
		
	
	
  }
}
 

sheel

I love Asm
Hi und Willkommen bei tutorials.de,

Bitte Fragen nicht als Tutorials posten und auch dazu sagen, was das Problem ist.

Bei der zweiten if-Bedingung in der Schleife fehlt ein else.

Ein Schönheitsfehler noch:
"Die gesuchte Zahl ist größer/gleich als 0 und kleiner/gleich 100"
x ist größer als 0.
0 selbst geht nicht, so wie es hier berechnet wird.
 

yan

Grünschnabel
okey, hab das noch nicht so ganz verstanden mit fragen usw...
aber was brint mir den das else, ich habe jetzt ja 2 if abfragen benutzt, gibt er immer nur aus da die zahl größer ist, egal welche zahl ich eingebe?
 

sheel

I love Asm
Und du hast vergessen,
Java:
z=Integer.parseInt(eingabe);
nach dem Neueingeben in der Schleife wieder zu machen.
 

HonniCilest

Erfahrenes Mitglied
Hallo,

auch von mir ein willkommen.

- z<x und x>z haben die gleiche Bedeutung. Entweder x und z einmal tauschen oder eine if-else Darstellung wählen.
- Schönheitsfehler: In Java werden Klassen großgeschrieben.

PS.: Eine if-Schleife gibt es nicht. Schleifen sind z.B. while-Scheifen und for-Schleifen ;)
 
Zuletzt bearbeitet: