hi warum geht so was nicht und wie muss ich das aendern dass es geht
a.charAt(e)=b.charAt(i);
hi warum geht so was nicht und wie muss ich das aendern dass es geht
a.charAt(e)=b.charAt(i);
Les mal den Unterschied zwischen =, == und in weiterer Folge am besten auch gleich .equals.
weil strings in java nicht veränderbar sind, du musst dir einen neuen string zusammenbasteln - substring sollte da helfen.
oder du verwendest einen StringBuffer.
weil strings in java nicht veränderbar sind, du musst dir einen neuen string zusammenbasteln - substring sollte da helfen.
oder du verwendest einen StringBuffer.
Oder das falls du nicht Vergleichen sondern String manipulieren willst^^
Oder das falls du nicht Vergleichen sondern String manipulieren willst^^
genau das brauche ich :):):)
genau das brauche ich :):):)
und kannst du mir bite schreiben wie soll es aussehen weil mir schreibt das fehler
Wäre hilfreich wenn du sagst was du eigentlich machen willst. Wenn du die beiden Chars vergleichen willst dann musst du == statt = schreiben.
Wenn es aber eine Zuweisung sein soll, dann kann das so nicht gehen da charAt ja nur lesenden Zugriff auf ein Zeichen im String hat. Willst du einen Buchstaben durch einen anderen ersetzen kannst du die [url=http://download.oracle.com/javase/1.4.2/d…char,%20char%29]replace[/url] Methode verwenden. myString.replace('i', 'o') macht aus "Das ist ein String" "Das ost eon Strong".
Willst du ein Zeichen, dass an einer bestimmten Position steht ersetzen, könntest du den String mit toCharArray() in ein Array umwandeln, das Zeichen ersetzen und dann aus dem Array wieder einen String erzeugen.
Wäre hilfreich wenn du sagst was du eigentlich machen willst. Wenn du die beiden Chars vergleichen willst dann musst du == statt = schreiben.
Wenn es aber eine Zuweisung sein soll, dann kann das so nicht gehen da charAt ja nur lesenden Zugriff auf ein Zeichen im String hat. Willst du einen Buchstaben durch einen anderen ersetzen kannst du die [url=http://download.oracle.com/javase/1.4.2/d…char,%20char%29]replace[/url] Methode verwenden. myString.replace('i', 'o') macht aus "Das ist ein String" "Das ost eon Strong".
Willst du ein Zeichen, dass an einer bestimmten Position steht ersetzen, könntest du den String mit toCharArray() in ein Array umwandeln, das Zeichen ersetzen und dann aus dem Array wieder einen String erzeugen.
also es geht um decode den text und es liest nur ein teil von dem string und dann brauche ich das vertauschen
also es geht um decode den text und es liest nur ein teil von dem string und dann brauche ich das vertauschen
mach aus dem String ein Char array,
tausche die chars aus,
und konvertiere wieder in einen String.
also es geht um decode den text und es liest nur ein teil von dem string und dann brauche ich das vertauschen
Glaubst du ernsthaft, dass irgendjemand, der die Aufgabenstellung nicht eh schon kennt, aufgrund dieser Erklärung auch nur irgendeine Ahnung hat, worum's geht?
du musst die aufgabe schon genauer erklären, denn hier wollen auch leute helfen, die nicht gerade die lva absolvieren...
mit deiner angabe kann ich leider nichts anfangen...
es ist ein program der soll ein string ein lessen und es ist chiffriert.... dan am schluss ist decode also der schluessel
while(sc.hasNext()){
a=sc.next();
s+=String.format(a);
u=s.length(); // laenge des string
if(a.equals("decode")){
decode=sc.next();
int dl=decode.length();
xx = Integer.parseInt(decode);
for(int j=0;j<u-dl;j+=dl){
b=s.substring(j,j+dl);
for(int i=dl-1;i>=0;i--){
int x=xx%10;
e=x+j*dl;
h= s.toCharArray();
hi=b.toCharArray();
h[e]=hi[i];
finish += new String(h);
xx=xx/10;
System.out.println(finish);
}
}
}
Alles anzeigenes ist ein program der soll ein string ein lessen und es ist chiffriert.... dan am schluss ist decode also der schluessel
while(sc.hasNext()){
a=sc.next();
s+=String.format(a);
u=s.length(); // laenge des string
if(a.equals("decode")){
decode=sc.next();
int dl=decode.length();
xx = Integer.parseInt(decode);
for(int j=0;j<u-dl;j+=dl){
b=s.substring(j,j+dl);
for(int i=dl-1;i>=0;i--){
int x=xx%10;
e=x+j*dl;
h= s.toCharArray();
hi=b.toCharArray();
h[e]=hi[i];
finish += new String(h);
xx=xx/10;
System.out.println(finish);
}
}
}
was mir spontan auffällt:
Warum hast du
h= s.toCharArray();
innerhalb der 2 vorschleifen. s ändert sich doch nur ausserhalb der schleifen.
...
s+=String.format(a);
...
was soll das bringen? das gibt dir höchstens einen fehler, falls a zufällig %-zeichen enthalten sollte.
jetzt weiss ich schon.....
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!