Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe mal wieder ein kleines Problem.
Und zwar habe ich aus einem Buch eine Übungsgabe lösen wollen, was ich nach meiner Meinung auch geschafft habe, aber irgendetwas läuft trotzdem schief!
Ich wollte einen Text einfach verschlüsseln, das könnt ihr ja auch aus dem Quellcode entnehmen.
Hier ist er
Java:
StringBuilder buf = new StringBuilder("III");
public class Haupt {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Automatisch generierter Methodenstub
StringBuilder buf = new StringBuilder("III");
for(int i = 0; i < buf.length(); i++)
{
if(buf.charAt(i) == 'U') buf.setCharAt(i, 'X');
if(buf.charAt(i) == 'A') buf.deleteCharAt(i);
if(buf.charAt(i) == 'E') buf.deleteCharAt(i);
if(buf.charAt(i) == 'I') buf.insert(i, 'I');
if(buf.charAt(i) == 'O') buf.insert(i, 'O');
}
System.out.println(buf.toString());
}
}
Nun, aber bei der compilierung, etstehen folgende Fehlermeldungen:
Java:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2894)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)
at java.lang.AbstractStringBuilder.insert(AbstractStringBuilder.java:1165)
at java.lang.StringBuilder.insert(StringBuilder.java:366)
at Haupt.main(Haupt.java:17)
Was habe ich falsch gemacht? Ich finde keinen Fehler....
Danke erstmal für eure Infos und Tipps, ich habe es mit dem zweiten StringBuilder probiert und es hat geklappt, es sind keine Fehler entstanden.
Jedoch irgendetwas stimmt trotzdem nicht:
Nach der Übersetzung wird immer noch der ursprüngliche Text angezeigt, aber kein umgewandelter, den ich in buf2 gespeichert habe.
Hier der Quellcode:
Java:
public class Haupt {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Automatisch generierter Methodenstub
StringBuilder buf = new StringBuilder("In Band 1");
StringBuilder buf2 = new StringBuilder(buf.toString());
for(int i = 0; i >= buf.length(); i++)
{
if(buf.charAt(i) == 'U') buf2.setCharAt(i, 'X');
if(buf.charAt(i) == 'A') buf2.deleteCharAt(i);
if(buf.charAt(i) == 'E') buf2.deleteCharAt(i);
if(buf.charAt(i) == 'I') buf2.insert(i, 'I');
if(buf.charAt(i) == 'O') buf2.insert(i, 'O');
}
System.out.println(buf2);
}
}
Und meine Ausgabe:
In Band 1
Irgendetwas ist falsch, und ich habe den Fehler immer noch nicht gefunden.
Könnt ihr mir weiterhelfen?
Ich glaube der Code macht aber immer noch das falsche. Müsste buf2 nicht am Anfang komplett leer sein? Dann brauchst du nur die codierten Buchstaben hinten anhängen: