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 glaube was du brauchst ist ein StringBuffer.
Anders erzeugst du zu viele String-Objekte und die wird der Garbage Collector
auch wieder einsammeln.
Verpack das Ganze doch in eine Klasse. :wink:
Code:
public class StringManipulator{
private StringBuffer buff = new StringBuffer();
public StringManipulator(String str){
this.buff.append(str);
}
public String manipulate(){
for (int i = 0; i < buff.length(); i++) {
char c = buff.charAt(i);
c = this.manipulateChar(c);
buff.setCharAt(i, c);
}
return buff.toString();
}
public char manipulateChar(char c){
return ++c;
}
public static void main(String[] args) {
StringManipulator strM = new StringManipulator("Irgendetwas");
String str = strM.manipulate();
System.out.println(str);
}
}
Mit ein bisschen umändern entspricht es dann dem Template-Pattern.
Dann kannst du einfach ableiten um eine etwas andere Verschlüsselung zu
bekommen. Es ist zwar auch in diesem Zustand noch verbesserungsbedürftig
aber schon ziemlich gut, was die Wiederverwendbarkeit angeht.
Code:
public abstract class StringManipulator{
private StringBuffer buff = new StringBuffer();
public StringManipulator(String str){
this.buff.append(str);
}
public final String manipulate(){
for (int i = 0; i < buff.length(); i++) {
char c = buff.charAt(i);
c = this.manipulateChar(c);
buff.setCharAt(i, c);
}
return buff.toString();
}
public abstract char manipulateChar(char c);
public static void main(String[] args) {
StringManipulator str1 = new SimpleStringManipulator("Irgendetwas");
StringManipulator str2 = new AnotherSimpleStringManipulator("Irgendetwas");
String str3 = str1.manipulate();
String str4 = str2.manipulate();
System.out.println(str3);
System.out.println(str4);
}
}
class SimpleStringManipulator extends StringManipulator {
public SimpleStringManipulator(String str){
super(str);
}
public char manipulateChar(char c){
return ++c;
}
}
class AnotherSimpleStringManipulator extends StringManipulator {
public AnotherSimpleStringManipulator(String str){
super(str);
}
public char manipulateChar(char c){
return --c;
}
}
Mach dir nichts draus. Als ich vor ungefähr 5 Jahren zum Ersten Mal ein Java Buch in die Hand
genommen habe ist mir richtig übel geworden. Nach den ersten 40 Seiten habe ich es
erst einmal wieder in den Schrank gestellt. Für ungefähr 1 Jahr. Dann habe ich nochmal angefangen.
Mein Studium hat mir natürlich viel geholfen. Jede Menge an gutem Basiswissen über Rechnerarchitektur,
Compilerbau usw. machen es sehr viel einfacher Programmiersprachen und Compiler zu verstehen.
Wenn es also ein kleiner Trost ist, dann mach einfach weiter. Irgendwann fällt es einem wie Schuppen
von den Augen. :lol: Der berühmte Ahh-Effekt.
Hier noch ein kleines Zitat aus einem Buch über Java
Laura Lemay & Rogers Cadenhead -- Java in 21 Tagen hat gesagt.:
Objektorientierte Programmierung ist fast wie Bier.
Die meisten, die das erste Mal ein Glas des malzigen Getränks zu sich nehmen, mögen es nicht
und stellen unter Umständen die Zurechnungsfähigkeit derjenigen in Frage, die ein Loblied auf dieses Getränk
singen. "Was hab' ich Dir angetan", fragen sie, "Das du mich dieses Höllenzeug trinken läßt?"
Nach einiger Zeit kann es durchaus sein, dass die, die trotzdem weiter Bier trinken, es schätzen lernen.
(Bei manchen wird dieser Zeitraum Studium genannt.)