<identifier> expected

Status
Nicht offen für weitere Antworten.
H

Hilfe

Gast
Oh man ich werd das identifier expected nicht mehr los und ich versteh nich weshalb. Hab mir mittlerweile tausendmal angeguckt wie man Klassen und Methoden deklariert und seh bei mir keinen Fehler. Die Fehler schreib ich mal in den Quelltext rein. Da mir Netbean die Complilerfehler sofort ausgibt.
Bitte könnt ihr mir sagen, an welcher Stelle ich unfähig bin.


Code:
package mergesort2;

import HUMath.Numerik.*;
public class Merge {

public String mergesort(String a);
{int halb=div(length(a),2);
 if (String.length(a) > 1) {String a1 = a.substring(0,halb);
                            String a2 = a.substring(halb,length(a)); 
                            return sort(mergesort(a1),mergesort(a2));
                           }
}
//Eine Zeile tiefer gibt das Programm aus: <identifier> expected
public String sort(String a,b){
 Sring summe;
 while((length(a) != 0) && (length(b) != 0)){
     if (a.charAt(0) > b.charAt(0)) {
                                     summe = summe + a.charAt(0);
                                    }
     else                           {
                                     summe = summe + b.charAt(0);
                                    }
 return summe;
                                            }  
     
 do    
                                        
                                    }

public static void main(String [] args){
    String ausgabe; 
    ausgabe = mergesort("dlemdneioaf");
    System.out.println(ausgabe);     
// Eine Zeile drunter gibt er aus: ")" expected (Jedoch wieso?)    
                           }
}
[/code]
 

DocRandom

Top Contributor
Du schreibst
Code:
public String sort(String a,b){
sollte es nicht eher
Code:
public String sort(String a, String b){
heissen?

lg
DocRandom
 
G

Guest

Gast
AAAAHHHH
Ich hasse Java. Ich will mein geliebtes Turbo Pascal wieder haben. Wegen diesen Müll sitz ich schon drei Stunden am Rechner.
AAAAHHHH

tausend Dank DocRandom
 
G

Guest

Gast
FP, werde ich mir angucken. Aber momentan muss ich leider im Rahmen des Studium Java lernen. Evtl. ist es ja garnicht schlecht gezwungen zu werden, die kommende SPrache schlechthin zu lernen.

Aber momentan sitz ich vor einen weiteren kleinen Problem, der Fern meiner Logik sich befindet:

Code:
public static String sort(String a, String b){  
 while((a.length() != 0) && (b.length() != 0)){
     String summe;
     if (a.charAt(0) > b.charAt(0)) {summe = summe + a.charAt(0);}
                                    
     else                           {summe = summe + b.charAt(0);}
                                              }
     return summe; // Er behauptet hier, das er die SUmme nicht kennt, dabei hab ich doch die Summe als erstes deklariert.
Das Programm behauptet
 
S

SlaterB

Gast
die Summe ist in der Schleife definiert, außerhalb nicht bekannt,

die Schleife macht auch keinen Sinn,
da sich die Prüfbedingung nicht ändert wird sie nie oder unendlich lange laufen,
summe wird bei jeden Schleifendurchlauf neu erzeugt und ist wie gesagt außerhalb gar nicht mehr existent,

recht sinnlos ;)

und gruselig formatiert,
du hast doch so viele Beispiele angesehen,
war da etwa ein solches dabei?
 

DocRandom

Top Contributor
// Er behauptet hier, das er die SUmme nicht kennt, dabei hab ich doch die Summe als erstes deklariert.
..und der Compiler hat recht! ;)
Du hast 'Dumme innerhalb des Blockes; also innerhalb der while-Schleife { }; deklariert.
Ergo ist Summe auch nur innerhalb des Blockes sichtbar
Verschiebe die Deklaration nach oben, also außerhalb des Blockes und Summe wir für die Methode sichtbar!
Code:
public static String sort(String a, String b){
   String Summe;
   while((a.length() != 0) && (b.length() != 0)){ 
 ...

mfg
DocRandom

[EDIT:] ..mist, wieder mal zu spät!
 
G

Guest

Gast
@ SLaterB
Ganz vergessen, dem String das Element weg zu nehmen was ich an der Summe ran hänge. Danke. Trotzdem ist das leider nicht mein Problem.
Was meinst du mit gruslig formatiert. Ich find das sehr übersichtlich. (Formatiert heißt doch wie man en Text aufbaut?).

@ DocRandom

Achja. Da wo du es stehen hast, hatte ich es vorher :)
Bloß da hat mir dann gleich gesagt, dass er keine der summen kennt ;)
Als ich das in die while Schleife geschrieben habe, hat er wenigsten die summe in der while Schleife erkannt.
Weshalb ich erstmal dort stehen lassen hab, auch wenn es mir klar war dass immer wieder summe neu erzeugt wurde.
Sorry.
Also eigentlich steht der "String summe;" Therm vor der while.
Da zeigt er halt zusätzlich noch, an dass er mit der SUmme in der while und dem "return summe" nichts anfangen kann.
 

DocRandom

Top Contributor
..sorry, ein Schreibfehler von mir, sollte natürlich
Code:
String summe;
heissen, da JAVA "Case-Sensetiv" ist! ;)

lg
DocRandom
 
G

Guest

Gast
DocRandom hat gesagt.:
..sorry, ein Schreibfehler von mir, sollte natürlich
Code:
String summe;
heissen, da JAVA "Case-Sensetiv" ist! ;)
:( Denn hatte ich leider nicht in meinem Programm.

Ich hatte es dort richtig implemetiert. Zumindest summe klein.
 
G

Guest

Gast
Nochmal mein Problemcode, im Zusammenhang:

Code:
public static String sort(String a, String b){  
 String summe;
  while((a.length() != 0) && (b.length() != 0)){
     if (a.charAt(0) > b.charAt(0)) {
                                     summe = summe + a.charAt(0);
                                     a= a.substring(1,a.length()); 
                                    }
                                    
     else                           {
                                     summe = summe + b.charAt(0);
                                     b= b.substring(1,b.length());
                                    }
                                              }
     return summe;
                                       }
[/code]
 

DocRandom

Top Contributor
..poste doch mal Deinen Code wie er jetzt aussieht!
Meine Glaskugel sagt mir ned, wie ich Dir weiterhelfen kann! ;)

mfg
DocRandom
[EDIT:] ..mist, wieder mal zu spät!
 
G

Guest

Gast
Und noch mal den Code, mit den Fehlern beschriftet.

Code:
public static String sort(String a, String b){  
 String summe;
  while((a.length() != 0) && (b.length() != 0)){
     if (a.charAt(0) > b.charAt(0)) {
                                     summe = summe + a.charAt(0); //summe erkennt er nicht
                                     a= a.substring(1,a.length()); 
                                    }
                                    
     else                           {
                                     summe = summe + b.charAt(0); // summe erkennt er nicht
                                     b= b.substring(1,b.length());
                                    }
                                              }
     return summe; //summe erkennt er nicht
                                       }
Java hat ja auch oft vordefenierte Variablen, jedoch hab ich selbst schon d und c ausprobiert anstatt Summe. Leider das gleiche Problem.
Für mich erscheint das alles als sehr unlogisch.[/code]
 

DocRandom

Top Contributor
Das Problem lag/liegt nicht daran, das er die Variable summe nicht kennt, sondern das diese nicht initialisiert worden ist!
Hier mal mein Beispiel-Code:
Code:
package gast;

public class Test {

	public static String sort(String a, String b){ 
		String summe = new String();
		while((a.length() != 0) && (b.length() != 0)){
			if (a.charAt(0) > b.charAt(0)) {
				summe = summe + a.charAt(0);
				a= a.substring(1,a.length());
			}else {
				summe = summe + b.charAt(0);
				b= b.substring(1,b.length());
			}
		}
		return summe;
	}
}
Und die TestMain dazu:
Code:
package gast;

public class TestMain {

	public static void main(String[] args) {
		System.out.println("Was auch immer dabei rauskommen soll = " + 
				Test.sort("Das ist der Test", "Das ist ein Test"));

	}

}

Du könntest auch schreiben:
Code:
String summe = "";
Ich persönlich ziehe die
Code:
String summe = new String();
Variante vor.

mfg
DocRandom
 

moormaster

Top Contributor
Das kann ja so auch nicht gehen. Die Variable Summe muss nicht nur deklariert, sondern auch initialisiert werden. Wenn da nur String summe; steht, dann hat summe keinen Wert bzw. den Wert null.

Ein summe = summe + ... kann aber nur funktionieren, wenn summe bereits ein konkreter Wert ist. Zum Beispiel ein leerer String "".

Code:
public static String sort(String a, String b){ 
String summe = ""; // muss initialisiert werden, damit man summe = summe + ... ausführen kann.
  while((a.length() != 0) && (b.length() != 0)){
     if (a.charAt(0) > b.charAt(0)) {
                                     summe = summe + a.charAt(0); //summe erkennt er nicht
                                     a= a.substring(1,a.length());
                                    }
                                   
     else                           {
                                     summe = summe + b.charAt(0); // summe erkennt er nicht
                                     b= b.substring(1,b.length());
                                    }
                                              }
     return summe; //summe erkennt er nicht
                                       }
 
G

Guest

Gast
tausend Dank. Ich wer da in tausend Nächten nicht drauf gekommen.
Echt du hast mir meine Nacht gerettet :D
Jetzt läuft alles sauber, zumindest weiß ich wo die übrigen Fehler noch liegen :D
 
G

Guest

Gast
Und sorry wegen meiner Rechtschreibung bin jetzt seit 4 Uhr morgen früh wach :)
 
M

murx

Gast
zum Abschluss der fertige Quelltext. Ich finde das gehört zu jedem Fragethread.

Das ganze ist Mergesort. Auskommentiert habe ich es noch nicht. Ich denke aber dass das ganze mit Kenntnisse der Rekursion sehr leicht zu verstehen ist.
Die HUMath Bibliothek verwende ich lediglich zum einlesen des Strings.
Code:
package mergesort2;

import HUMath.Numerik.*;
import java.lang.String;


public class Main {


public static String mergesort(String a)
{if (a.length() > 1) {
     String a1 = a.substring(0,a.length()/2);
     String a2 = a.substring(a.length()/2,a.length()); 
     a1 = mergesort(a1);
     a2 = mergesort(a2);
     return sort(a1,a2);
                     }
 return a;
}
public static String sort(String a, String b){  
 String summe= new String();
    while((a.length() != 0) && (b.length() != 0)){
             if (a.charAt(0) < b.charAt(0)) {
                                          summe = summe + a.charAt(0);
                                          a= a.substring(1,a.length()); 
                                            }
                                    
                                         else
                                            {
                                          summe = summe + b.charAt(0);
                                          b= b.substring(1,b.length());
                                            }
  }
 if (a.length() >0)  {summe = summe + a;}
                   else
                     {summe = summe + b;}    
return summe;
}                                        
                                       
public static void main(String [] args){
    String ausgabe;
    String eingabe;
    eingabe = ReadDialog.getString("Geben sie einen String ein:");
    ausgabe = mergesort(eingabe);
    System.out.println(ausgabe);
    
    
                                       }
}

Nochmal tausenden Dank.[/code]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
monsterherz error: <identifier> expected Java Basics - Anfänger-Themen 2
M error: '.class' expected switch(char) Java Basics - Anfänger-Themen 32
franzi.ska Blue-j: ‘]‘ expected Java Basics - Anfänger-Themen 1
C error: <identifier> expected Java Basics - Anfänger-Themen 13
P <identifier> expected Java Basics - Anfänger-Themen 3
J Compiler-Fehler Illegal Start of expression / '/'expected Java Basics - Anfänger-Themen 3
L Methoden Zugriff <identifier> expected Java Basics - Anfänger-Themen 13
Z Klassen Error: ';' expected - was mache ich falsch? Java Basics - Anfänger-Themen 4
J Compiler-Fehler class interface or enum expected Java Basics - Anfänger-Themen 1
J Syntax error on token ";",, expected Java Basics - Anfänger-Themen 2
lBlKha0s Fehlermeldung : class interface or enum expected Java Basics - Anfänger-Themen 9
W Compiler-Fehler Fehler - <identifier> expected, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
T error: class, interface, or enum expected Java Basics - Anfänger-Themen 5
D Compiler-Fehler error: .class expected Java Basics - Anfänger-Themen 2
S Compiler-Fehler error: ';' expected (finde Fehler nicht) Java Basics - Anfänger-Themen 10
P <identifier> expected Fehler bitte um Hilfe Java Basics - Anfänger-Themen 5
J identifier expected Java Basics - Anfänger-Themen 2
D Erste Schritte Fehlermeldung "Syntax error on token ";", { expected after this token" Java Basics - Anfänger-Themen 13
L Compiler-Fehler error: class, interface or enum expected Java Basics - Anfänger-Themen 2
B Compiler-Fehler 86:11: error: ';' expected obwohl kein ";" hingehört! Java Basics - Anfänger-Themen 10
F .class expected Java Basics - Anfänger-Themen 3
M Syntax error on token ";", { expected after this token Java Basics - Anfänger-Themen 3
0 .class expected Arrays -- warum? Java Basics - Anfänger-Themen 9
P Compiler-Fehler "class, interface, or enum expected" Java Basics - Anfänger-Themen 5
K class, interface or enum expected Java Basics - Anfänger-Themen 14
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
R Switch Abfrage: Found boolean but expected int? Java Basics - Anfänger-Themen 7
T class, interface, or enum expected Java Basics - Anfänger-Themen 2
K <identifier> expected Java Basics - Anfänger-Themen 18
L Polymorphie <identifier> expected trotz "Angabe" Java Basics - Anfänger-Themen 2
2 <identifier> expected - Problem Java Basics - Anfänger-Themen 2
O Fragezeichenoperator assert expected Java Basics - Anfänger-Themen 7
S Methode mit zweidimensionalem Array als Parameter: '.class' expected Java Basics - Anfänger-Themen 2
H einfaches Array -> ']' expected Java Basics - Anfänger-Themen 9
W '.class' expected Java Basics - Anfänger-Themen 5
J class, interface, or enum expected - finde Fehler nicht. Java Basics - Anfänger-Themen 4
I ';' expected, kann den Fehler nicht finden... Java Basics - Anfänger-Themen 2
D class, interface or enum expected Java Basics - Anfänger-Themen 2
J class expected Java Basics - Anfänger-Themen 4
M return Fehler .class expected Java Basics - Anfänger-Themen 19
J class, interface, or enum expected Java Basics - Anfänger-Themen 4
danielita Identifier Expected Java Basics - Anfänger-Themen 8
I identifier und ) expected Java Basics - Anfänger-Themen 3
T class, interface or enum expected Java Basics - Anfänger-Themen 3
D "Illegal Start of Expression" und "; expected Java Basics - Anfänger-Themen 3
T .class expected Java Basics - Anfänger-Themen 5
NoXiD ; Expected Java Basics - Anfänger-Themen 2
P public enum ";"expected Java Basics - Anfänger-Themen 7
G <identifier> expected bei public void final Java Basics - Anfänger-Themen 3
D "identifier expected" und "cannot find symbol Java Basics - Anfänger-Themen 4
G Blue J - Fehlermeldung - identifier expected - illegal start Java Basics - Anfänger-Themen 6
zilti identifier expected bei Threads Java Basics - Anfänger-Themen 2
E <identifier> expected in List Java Basics - Anfänger-Themen 8
G sinnlos >>> "]" expected Java Basics - Anfänger-Themen 9
G "Identifier expected" Java Basics - Anfänger-Themen 9
S idetifier expected Java Basics - Anfänger-Themen 3
P Wieso kommt die Fehlermeldung ".class expected"? Java Basics - Anfänger-Themen 2
B Syntax error on token ";", { expected after this t Java Basics - Anfänger-Themen 7
G array list - identifier expected Java Basics - Anfänger-Themen 4
M Fehler Identifier Expected Java Basics - Anfänger-Themen 4
J [JavaKara] '.' expected import JavaKaraProgram Java Basics - Anfänger-Themen 2
K Array deklarieren und befüllen; "]" expected Java Basics - Anfänger-Themen 7
N Fehler <identifier> expected. Weiss nicht was falsch i Java Basics - Anfänger-Themen 2
K identifier expected | problem mit variable Java Basics - Anfänger-Themen 6
G identifier expected Java Basics - Anfänger-Themen 2
J Fehler identifier expected Java Basics - Anfänger-Themen 10
K 'class' or 'interface' expected Java Basics - Anfänger-Themen 3
G Fehlermeldung ']' expected, Objekterstellung in Laufzeit Java Basics - Anfänger-Themen 8
B Compiler Fehler "{" expected, kann doch nich sein? Java Basics - Anfänger-Themen 9
S syntax error variable declarator ID expected Java Basics - Anfänger-Themen 3
M Problem mit "<identifier> expected" in Actio Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben