Also ich mache momentan eine Übung aus einem Buch und sie lautet folgendermassen:
Der User soll einen Text/Wort eingeben können und bei diesem werden dann die Zeichen vertauscht. abc = cbm. Das Wort soll dann auf einem Stack abgelegt werden.
Ich habe mir gedacht dass ich mit StringBuilder arbeite und da so nicht unzählige String Objekte erzeugt werden.
Hier mal meine Klassendefinition:
In der Methode read() möchte ich dass der User ein Wort eingibt als String und dieser dann als Stringbuilder zurückgeben wird. Beide StringBuilder Objekte "wort" und "reversewort" werden mit setLength(0) gelöscht so dass diese leer sind.
In der zweiten Methode versuche ich dann den Stringbuilder "wort" umzutauschen. Dort bekomme ich dann eine Fehlermeldung dass die variable "endWort" nicht initialisiert ist. Doch diese ist doch mich String = endWort; definiert?;
Der Rest vom Code ist dann die main wo ich versuche Objekte auf dem Stack abzulegen.
Jemand einen Tipp für mich?
Der User soll einen Text/Wort eingeben können und bei diesem werden dann die Zeichen vertauscht. abc = cbm. Das Wort soll dann auf einem Stack abgelegt werden.
Ich habe mir gedacht dass ich mit StringBuilder arbeite und da so nicht unzählige String Objekte erzeugt werden.
Hier mal meine Klassendefinition:
In der Methode read() möchte ich dass der User ein Wort eingibt als String und dieser dann als Stringbuilder zurückgeben wird. Beide StringBuilder Objekte "wort" und "reversewort" werden mit setLength(0) gelöscht so dass diese leer sind.
In der zweiten Methode versuche ich dann den Stringbuilder "wort" umzutauschen. Dort bekomme ich dann eine Fehlermeldung dass die variable "endWort" nicht initialisiert ist. Doch diese ist doch mich String = endWort; definiert?;
Der Rest vom Code ist dann die main wo ich versuche Objekte auf dem Stack abzulegen.
Jemand einen Tipp für mich?
Code:
import java.util.*;
class stack{
static StringBuilder wort;
static StringBuilder reverseWort;
public static StringBuilder read(){
Scanner scan = new Scanner(System.in);
System.out.println("Bitte Geben Sie ihr Wort/Text ein: ");
String eingabe = scan.nextLine();
wort.setLength(0);
reverseWort.setLength(0);
wort.append(eingabe);
return wort;
}
public static StringBuilder reverse(){
String endWort;
String text = wort.toString();
for(int i = text.length()-1; i >=0; i--){
endWort += text.charAt(i);
}
reverseWort.append(endWort);
return reverseWort;
}
public static void main(String[] args){
Stack stack = new Stack();
read(); //Lesen von Wort 1
reverse(); //Umkehren von Wort1
stack.push(reverseWort);
while( !stack.empty() ){
stack.peek();
}
}
}