String in char-Array einfügen

Status
Nicht offen für weitere Antworten.

Sindbad1983

Top Contributor
Hi!

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
 
Versuchs einfach mal mit:

Code:
s.charAt(i+1);

'charAt' ist eine Methode und nicht der Value des Strings. Daher sind hier runde Klammern erforderlich.
 
Es ist gar nicht so kompliziert Jungs 🙂
Versucht es mal mit der vordefinierten Methode von Java.

String s = "Das soll in char Array";
char[] c = s.toCharArray();

Das wars 🙂
Gruss
 
ja...aber so leicht gehts nicht!


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);

	}

}

Danke für eure Hilfe!
 
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 den StringBuffer von java benutzt oder wie man es selber schreibt? ich denke beides kann ich, wobei der erste nur paar aufrufe sind
 
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!
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben