Ich möchte gerne einen String in ein char-Array einfügen!
Funktioniert das?
Code:
public class Buffer{
protected char [] buf;
private int size;
private int free;
public Buffer (int size){
this.size=size;
buf=new char [size];
}
public void append (String s){
if(buf.length==0){
System.out.println("Die Laenge des Arrays ist fuer eine moegliche Ausgabe zu kurz!");
}
else{
free=size-(s.length());
for(int i=free;i<=buf.length;i++){
buf[i]=s.charAt[i+1];
}
}
}
}
aber das charAt kennt er nicht.....StringBuffer darf ich keinen verwenden!
Gibt es eine andere Lösung?
Danke!!!
ciao,Tommy
Im Gegensatz zu StringBuffer soll im Buffer die max.Länge der Zeichenketten begrenzt sein!
-> append hängt String s an Buffer an!Wenn nicht alle Zeichen von s Platz haben, sollen die überschüssigen Zeichen von s ignoriert werden!
Und ich weiß einfach nicht, wie ich das Problem mit den überschüssigen Zeichen lösen soll bzw. wie ich den String dann überhaupt in das char-Array reinschreiben kann!...
Code:
public class Buffer{
protected char [] buf;
private int size; // Größe von buf
private int free; // noch freier Platz
String s; // einzufügender String
public Buffer (int size){
this.size=size;
buf=new char [size];
}
public void append (String s){
if(buf.length==0){
System.out.println("Die Laenge des Arrays ist fuer eine moegliche Ausgabe zu kurz!");
}
else{
free=size-s.length(); // das passt auch irgendwie nicht!
for(int i=0;i<=buf.length;i++){
if(free!=0){
char [] buf=s.toCharArray(); // da ist auch ein Fehler drinnen!
free--;
}
}
}
}
public String toString(){
String s=new String(buf, 0, size-free);
return s;
}
public static void main(String [] args){
Buffer b1=new Buffer(10);
b1.append("Thomas");
System.out.println(b1);
}
}
In deiner Frage steht drin: Wie bekomme ich einen String in char Array und habe mich darauf bezogen. habe dein Code nicht gelesen.
Warum machst du denn sowas? WArum benutzt du nicht einfach StringBuffer von Java? Warum willst du es denn selber schreiben?
Gruss
wie man es selber schreibt.....wie eben bei meinem Beispiel oben!..da hätt ichs ja eh probiert!
Wo ist da der Fehler?..so falsch kann ja das nicht sein oder?Danke!