hartnäckige Fehlermeldung XD

  • Themenstarter Themenstarter PiBi
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
P

PiBi

Gast
Hallo an alle^^

Ich soll als Hausaufgabe ein Java-Programm schreiben, dass das Minimum dreier Zahlen ausgibt. Wir sind noch nicht sonderlich weit was die Methoden betrifft, meh als if/else etc. kenn ich noch nicht.
Beim Compilieren (ich hab den Java-Editor 6.02 von Gerhard Röhner) bekomme ich ständig eine Fehlermeldung angezeigt:
Minimum.java:17: ';' expected
if(zweite_zahl < erste_zahl)
^
1 error

Egal, was ich auch versuche, ich bekomm ihn nicht weg, sogar, als ich alles unterhalb Stelle 16 ausschnitt, die 17. Reihe, in der der Fehler vermutet wird, also garnicht mehr existierte, blieb die Meldung. Findet jemand von euch den Fehler?
Für jegliche Hilfe bin ich sehr dankbar!

Hier das Listing:
Code:
import java.util.Scanner;
import java.io.*;
public class Minimum
{
  public static void main(String[] argument)
  {
  Scanner eingabe = new Scanner(System.in);
  System.out.println("Bitte geben Sie die erste Zahl ein:");
  float erste_zahl = eingabe.nextFloat();
  System.out.println("Bitte geben sie die zweite Zahl ein:");
  float zweite_zahl = eingabe.nextFloat();
  System.out.println("Bitte geben sie die dritte Zahl ein:");
  float dritte_zahl = eingabe.nextFloat();
   if(erste_zahl < zweite_zahl)
      erste_zahl = erstes_minimum
    if(zweite_zahl < erste_zahl)       //hier soll sich der Fehler befinden....auch, wenn die Zeile nicht existiert
      zweite_zahl = erstes_minimum
     if (erstes_minimum < dritte_zahl)
       System.out.println("Die Zahl"+(erstes_minimum)+" ist das Minimum der drei Zahlen.");
     else
       System.out.println("Die Zahl"+(dritte_zahl)+" ist das Minimum der drei Zahlen.");
  }
}

edit by bummerland: Bitte Code-Tags benutzen!
 
Hallo,
Auch der Code in if-Blöcken benötigt ein Semikolon! Schau danach nochmal in diesem Codeabschnitt:
PiBi hat gesagt.:
Code:
   if(erste_zahl < zweite_zahl)
         erste_zahl = erstes_minimum
    if(zweite_zahl < erste_zahl)      
         zweite_zahl = erstes_minimum
 
Hab ich auch schon versucht, jetzt auch nochmal....die Fehleranzahl hat sich damit leider auf drei erhöht. Die Semikolons scheinen falsch zu sein.....ich versteh das wirklich nicht.
Hast du noch eine Idee?
 
Tipp:
erste_zahl = erstes_minimum

scheint falschrum, du meinst wohl
erstes_minimun = erste_zahl

die Variable ist auch noch nirgendwo deklariert, das geht so nicht

vergiss auch nicht den Fall dass zwei oder gar alle drei Zahlen gleich groß sind

--------------

das Testen deines Codes dürfte einfacher werden wenn du folgendes benutzt

Code:
import java.util.Scanner;
import java.io.*;
public class Minimum
{
  public static void main(String[] argument)
  {

  float erste_zahl = 2;
  float zweite_zahl = 7;
  float dritte_zahl = 4;

   if(erste_zahl < zweite_zahl)
      erste_zahl = erstes_minimum
    if(zweite_zahl < erste_zahl)       //hier soll sich der Fehler befinden....auch, wenn die Zeile nicht existiert
      zweite_zahl = erstes_minimum
     if (erstes_minimum < dritte_zahl)
       System.out.println("Die Zahl"+(erstes_minimum)+" ist das Minimum der drei Zahlen.");
     else
       System.out.println("Die Zahl"+(dritte_zahl)+" ist das Minimum der drei Zahlen.");
  }
}

zum Testen musst du dann nicht jedesmal was eintippen..
Benutzereingaben ganz zum Schluss wenn alles automatische zu funktionieren scheint
 
Danke für den Tipp!

Mit dem Deklarieren hab ich es auch schon versucht, wobei das die Fehlermeldung nicht beseitigt hat. Umgedreht hab ich die Anweisung jetzt auch, wobei das geal sein dürfte, ist ja eine "Gleichung".
Für die Fälle, dass einige Zahlen gleich groß sind, bin ich mal faul geblieben und hab mir gedacht, dass dann eben 2 oder alle drei Zahlen "die kleinsten" sind...auch wenn das logisch völlig bescheuert ist...aber erstmal den rest zum Laufen bringen, dann versuch ich mich daran.
Ich bekomme übrigens noch immer das Semikolon als falsch angezeigt, doch wenn ich es setze, entstehen noch mehr Fehler....bin also noch immer nicht weiter.
 
Anonymous hat gesagt.:
Umgedreht hab ich die Anweisung jetzt auch, wobei das geal sein dürfte, ist ja eine "Gleichung".
nee, is keine gleichung, ist ne zuweisung. a = b ist was anderes als b = a
Ich bekomme übrigens noch immer das Semikolon als falsch angezeigt, doch wenn ich es setze, entstehen noch mehr Fehler....bin also noch immer nicht weiter.
hinter jedes a = b muss ein semikolon, also auch hinter dein erstes_minimun = erste_zahl ;.
dann musst du noch eine variable erstes_minimum anlegen, denn die gibts nicht.
 
a=b ist echt was anderes als b=a? ich glaub, sowas hab ich mal meinen Infolehrer gefragt, aber er meinte, es sei gleich...
Gut, also umgedreht hab ich es, auch eine Variable erzeugt....
Aber wenn ich jetzt hinter die Zuweisungen jeweils ein Semikolon setze, gibts ne neue Fehlermeldung, und zwar

Code:
Minimumxd.java:15: '.class' expected
       float erstes_minimum = zweite_zahl;
             ^
Minimumxd.java:15: not a statement
       float erstes_minimum = zweite_zahl;
       ^
2 errors

Kann das denn dann trotzdem richtig sein? Immerhin gabs ohne Semikolon weniger Fehler.

Übrigens bis hierhin vielen Dank an alle!
 
Hab jetzt nicht alles gelesen, nur:
a=b ist echt was anderes als b=a?
a == b und b == a ist natürlich das gleiche. Aber ein einfaches gleich hat nichts mit ver"gleich"en zu tun, sondern ist eine einfache Zuweisung.
a = b: a erhält den Wert von b, b bleibt unverändert
b = a: b erhält den Wert von a, a bleibt unverändert
 
Hab ich verstanden^^ Danke!

Okay, ich füg mal meinen aktuellen Stabd ein, plus Fehlermeldung und OHNE die Semikolons hinter den Zuweisungen(hab sie aber auch schon ausprobiert),.....vielleicht schafft es ja doch noch jemand ....

Code:
import java.util.Scanner;
import java.io.*;
public class Minimumxd
{
  public static void main(String[] argument)
  {

  float erste_zahl = 2;
  float zweite_zahl = 7;
  float dritte_zahl = 4;

   if(erste_zahl < zweite_zahl)
      float erstes_minimum = erste_zahl
    if(zweite_zahl < erste_zahl)
       float erstes_minimum = zweite_zahl
     if (erstes_minimum < dritte_zahl)
       System.out.println("Die Zahl"+(erstes_minimum)+" ist das Minimum der drei Zahlen.");
     else
       System.out.println("Die Zahl"+(dritte_zahl)+" ist das Minimum der drei Zahlen.");
   }
}

Minimumxd.java:13: '.class' expected
float erstes_minimum = erste_zahl
^
Minimumxd.java:13: not a statement
float erstes_minimum = erste_zahl
^
2 errors
 
Du musst die Variable erstes_minimum schon vor den if-Blöcken deklarieren. Wenn du dann noch die Semikolons wieder dazu machst, funktioniert's auch (jedenfalls bei mir).
Code:
import java.util.Scanner;
import java.io.*;

public class Minimumxd 
{

	public static void main(String[] argument)
	{
		float erste_zahl = 2;
		float zweite_zahl = 7;
		float dritte_zahl = 4;
		float erstes_minimum = 0;
		if(erste_zahl < zweite_zahl)
			erstes_minimum = erste_zahl;
		if(zweite_zahl < erste_zahl)
			erstes_minimum = zweite_zahl;
		if (erstes_minimum < dritte_zahl)
			System.out.println("Die Zahl"+(erstes_minimum)+" ist das Minimum der drei Zahlen.");
		else
		System.out.println("Die Zahl"+(dritte_zahl)+" ist das Minimum der drei Zahlen."); 
	}
}
 
In Ordnung, funktioniert alles! Nochmal vielen Dank an alle, die geholfen haben! Ich wär da wirklich nie drauf gekommen...
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben