ich versteh nicht ganz wieso mein string nicht umgedreht wird..also hatte es soweit schon..aber das wäre der selbe string gewesen..da war er noch nicht geparsed...
also ich möchte etwas eingeben die länge ausgeben...und dann den string von hinten nach vorne ausgeben....da hab ich gerade irgendwie n Denkfehler...
Java:
packagekyana.swing.hw;importjava.util.Scanner;publicclassZeichenkettenFunktionen{publicstaticvoidmain(String[] args )throwsIOException{Scanner sca =newScanner(System.in );System.out.println("eingabe str: ");String str = sca.nextLine();String sr =newString();dico( str );System.out.println("testaus1: "+ str );strRev( sr );System.out.println("testaus2: "+ sr );//System.out.println( str );}privatestaticvoiddico(String s ){try{int i =Integer.parseInt( s );
s =Integer.toString( i );//wie c#System.out.printf("länge: %d\n", s.length());}catch(NumberFormatException ex ){System.out.println("parsing n/a: string not compatibel to int");}//System.out.printf( "%s ", s );//System.out.print( s.charAt( s ) + " " );}privatestaticStringstrRev(String s ){String sr =newString();for(int i = s.length()-1; i >=0; i--){
s += s.charAt( i );System.out.println("?"+ sr );}return sr;}}
ich versteh nicht ganz wieso mein string nicht umgedreht wird..also hatte es soweit schon..aber das wäre der selbe string gewesen..da war er noch nicht geparsed...
privatestaticStringstrRev(String s ){String sr =newString();for(int i = s.length()-1; i >=0; i--){
s += s.charAt( i );System.out.println("?"+ sr );}return sr;}
Wo drehst du hier den String um?
Du erzeugst ein neues leeres String Objekt, danach manipulisert du noch den String der als Parameter übergeben wurde und zum Schluss gibst du das leere String Objekt zurück.
Du musst den Code in deiner Schleife so anpassen das die Buchstaben an das neue String Objekt angehängt werden!
Es wird dir leichter fallen die richtigen Variablen zu verwenden wenn du ihnen sprechende Name gibst -> also nicht nur "s" oder "sr".
privatestaticvoiddico(String s ){try{int i =Integer.parseInt( s );
s =Integer.toString( i );//wie c#System.out.printf("länge: %d\n", s.length());}catch(NumberFormatException ex ){System.out.println("parsing n/a: string not compatibel to int");}//System.out.printf( "%s ", s );//System.out.print( s.charAt( s ) + " " );}
Ist das deine Methode um die Länge auszugeben?
Welche Länge soll da ausgegeben werden? Die Länge des eingegebenen Strings?
Warum versuchst du den String zu einem Integer zu parsen? Es würde doch einfach reichen mittels "s.length()" die Länge des Strings auszugeben.