Buffer - charArray bitte um Hilfe!

Status
Nicht offen für weitere Antworten.

Sindbad1983

Top Contributor
Hallo zusammen!

Ich hab leider noch immer keine Lösung gefunden!

Ich möchte einen Buffer programmieren!

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!...

->man darf KEINEN StringBuffer verwenden!!

Kann mir bitte, bitte jemand helfen??
Wo íst da der Fehler bzw. weiß jemand, wies richtig geht?


Code:
public class Buffer{ 


   protected char [] buf; 
   private int size; // Größe von buf 
   private int free; // noch freier Platz  vielleicht static?
   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!  soll den freien Platz im Array berechnen!


         for(int i=0;i<=buf.length;i++){ 

            if(free!=0){ 

            char [] buf=s.toCharArray(); // da ist auch ein Fehler drinnen!  
            /* oder ist besser?!?:
            buf [i]=s.charAt(i+1); */

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

   } 

}

Bitte um schnelle Hilfe!
Danke im Voraus!
ciao,Tommy
 

Sky

Top Contributor
Versuch doch mal das:
Code:
  class Buffer {
    private char[] buf;
    private int free;

    public Buffer(int size) {
      buf = new char[size];
      this.free = size;
    }

    public void append(String s) {
      int size = buf.length;
      int iStringPos = 0;
      while (free > 0 && iStringPos < s.length()) {
        buf[size - free] = s.charAt(iStringPos);
        free--;
        iStringPos++;
      }
    }

    public String toString() {
      return new String(buf, 0, buf.length - free);
    }
  }

<Persönliche Meinung>Und nochwas: Nur weil Du im anderem Thread nicht die gewünschte Hilfe bekommen hast, finde ich es ziemlich unverschämt hier noch einen Thread zum gleichem Themas aufzumachen!</Persönliche Meinung>
 

Sindbad1983

Top Contributor
Boa..du hast es echt hingebracht! Super!
Danke!!!

zu meiner Verteidigung:

Unverschämt bin ich meiner Ansicht nach nicht! Ich hätte bei dem anderen Post keine Antwort mehr bekommen! Und ich wollt unbedingt die Lösung wissen!

Aber naja..tut mir leid!Wird nicht wieder vorkommen!

Danke nochmal für deine schnelle Hilfe!
 

0xdeadbeef

Top Contributor
IMHO ist es unnötig, free in der Schleife zu erhöhen (speedup):
Außerdem muß noch die neue Größe (size) neu berechnet werden...

Code:
    if (buf.length==0)
        System.out.println("Die Laenge des Arrays ist fuer eine moegliche Ausgabe zu kurz!");        
    else {            
        for(int i=size,j=0; i < buf.length && j < s.length(); i++,j++)                                                         
            buf[i] = s.charAt(j);
//          Neue Größe und Anzahl der freien Positionen im Puffer berechnen
        size += s.length();
        if (size > buf.length)
            size = buf.length;
        free = buf.length - size;                        
    }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E JFrame + Buffer-strategy Java Basics - Anfänger-Themen 8
P Buffer und null Java Basics - Anfänger-Themen 3
S Wann buffer löschen? Java Basics - Anfänger-Themen 5
B Input/Output Data / Buffer / File Outstream Inputstream Java Basics - Anfänger-Themen 2
P Java SocketException: No buffer space available ==> Netzwerkabsturz Java Basics - Anfänger-Themen 5
P Für was werden Buffer verwendet? Java Basics - Anfänger-Themen 3
T Buffer size Java Basics - Anfänger-Themen 22
G Bild in Buffer statt temporäre Bilddatei Java Basics - Anfänger-Themen 6
J Java NIO Probleme mit Buffer Java Basics - Anfänger-Themen 2
S Buffer Ausgabe Java Basics - Anfänger-Themen 6
L Variablen CharArray Ausgabe - Buchstabensalat Java Basics - Anfänger-Themen 5
H .txt--> CharArray Java Basics - Anfänger-Themen 2
S charArray Java Basics - Anfänger-Themen 7
P Methoden String in charArray verwandeln? Java Basics - Anfänger-Themen 5
J charArray Java Basics - Anfänger-Themen 5
A CharArray mit Char vergleichen Java Basics - Anfänger-Themen 2
B String einem Chararray zuweisen Java Basics - Anfänger-Themen 2
N string in charArray umwandeln Java Basics - Anfänger-Themen 19
G Konvertierung von charArray in String funzt net Java Basics - Anfänger-Themen 3
G CharArray zu int umwandeln Java Basics - Anfänger-Themen 4
L CharArray Problem Java Basics - Anfänger-Themen 4
S charArray verlängern Java Basics - Anfänger-Themen 19
ineedhelpinjava OOP Bitte wichtig Java Basics - Anfänger-Themen 6
G Bitte meinen Account löschen Java Basics - Anfänger-Themen 1
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
M Bitte um Hilfe bei 2DArrays Java Basics - Anfänger-Themen 8
D Abrechnung bitte um hilfe Java Basics - Anfänger-Themen 25
Vivien Bitte um Optimierungsvorschläge / Verbesserungsvorschläge / allgemeines Feedback Java Basics - Anfänger-Themen 8
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
J Java List, Bitte um Hilfe Java Basics - Anfänger-Themen 15
J Java List, bitte um Hilfe Java Basics - Anfänger-Themen 3
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
marcooooo einmal noch schnell hilfe bitte:/ Java Basics - Anfänger-Themen 2
F Methoden Bitte Helft mir meinen Fehler zu finden. Möchte in diesem Bankenprogramm durch die Konsoleneingabe auswählen welches Konto reduziert und welches erhö Java Basics - Anfänger-Themen 17
I Methoden char Array Aufgabe (bitte hierbei um Hilfe) Java Basics - Anfänger-Themen 3
ZH1896ZH OOP Verstehe nicht was der Hinweis bedeutet, bitte um Hilfe! Java Basics - Anfänger-Themen 2
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
S Bitte Hilfe zu Fehlermeldung am Handy Java Basics - Anfänger-Themen 2
I Do-While / Kalkulator / Bitte um Hilfe Java Basics - Anfänger-Themen 9
P Bitte Hinweise zu folgendem "Klassenproblem" Java Basics - Anfänger-Themen 3
M Bitte um Hilfe bei Quellcode (Rekursion) Java Basics - Anfänger-Themen 6
A Erste Schritte Bitte helfen sie mir diese Programm zu schreiben Java Basics - Anfänger-Themen 12
C Stack und Queue in Aktion (Bitte Hilfe für die Klausur) Java Basics - Anfänger-Themen 7
F (Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) Java Basics - Anfänger-Themen 3
B MVC Struktur mit mehreren Szenen - wer schaut mal bitte drüber? Java Basics - Anfänger-Themen 2
T Bitte um Hilfe Java Basics - Anfänger-Themen 9
D Arraylisten sortieren bitte um Hilfe Java Basics - Anfänger-Themen 4
P Erste Schritte Bitte ein paar Erklärungen zu meinem Code Java Basics - Anfänger-Themen 6
J Bitte Hilfe Java Basics - Anfänger-Themen 4
W FileReader - Bitte um Erklärung Java Basics - Anfänger-Themen 7
V Memory Logik Problem/Denkblockade, bitte helft Java Basics - Anfänger-Themen 1
T Bitte um Hilfe bei Aufgabe: Long zahl = Long.parseLong(args [0]); Java Basics - Anfänger-Themen 3
J Bitte um Erklärung Java Basics - Anfänger-Themen 4
A GUI- Allgemeines Problem (Bitte helfen) Java Basics - Anfänger-Themen 15
D Bitte um Hilfe bei "error: package com.apple.eawt does not exist import com.apple.eawt.*;" Java Basics - Anfänger-Themen 1
C Polymorphie - Erklärung bitte Java Basics - Anfänger-Themen 5
M Quadrat zeichnen einfach bitte! Java Basics - Anfänger-Themen 2
F Bitte mal Zusammenhänge der Klassen erklären Java Basics - Anfänger-Themen 8
P <identifier> expected Fehler bitte um Hilfe Java Basics - Anfänger-Themen 5
J Kann mir bitte mal jemand diese Codes erklären? Java Basics - Anfänger-Themen 19
J Threading-Aufgabe. Totale Noob Fragen, aber bitte trotzdem beantworten ;) Java Basics - Anfänger-Themen 7
O Rundungsfehler bitte erklären! Java Basics - Anfänger-Themen 4
K NullPointerException wird geworfen, bitte um Hilfe! Java Basics - Anfänger-Themen 7
M Erklärung Code Mergesort Bitte Java Basics - Anfänger-Themen 3
N While Schleife Erklärung Bitte Java Basics - Anfänger-Themen 3
S Variablen Hilfe bitte Java Basics - Anfänger-Themen 6
Z Erste Schritte Bitte helft mir dringend!! Java Basics - Anfänger-Themen 3
T Unit tests fehlerhaft bitte um hiiiiilfe :D Java Basics - Anfänger-Themen 1
J Ich bitte DRINGEND um Hilfe!!! Java Basics - Anfänger-Themen 16
Q Importieren meiner Boundary? Bitte Hilfe Java Basics - Anfänger-Themen 3
T Eine kurze frage vor der prüfung bitte. Java Basics - Anfänger-Themen 5
CyberFish initialisieren, obwohl es gemacht wurde! Bitte um Hilfe Java Basics - Anfänger-Themen 10
H Bitte um Hilfe von Profis. Java Basics - Anfänger-Themen 5
S Klassen Formel zur Berechnung .... Bitte um Hilfe Java Basics - Anfänger-Themen 7
H Methoden Bitte um Erklärung der askString-Methode Java Basics - Anfänger-Themen 15
J Probleme bei kompilieren ... Bitte um Hilfe Java Basics - Anfänger-Themen 27
O Erste Schritte Aller Anfang ist schwer ! Bitte um Unterstützung Java Basics - Anfänger-Themen 6
G Bitte um Erklärung dieser einer Zeile Java Basics - Anfänger-Themen 5
P Bitte um hilfe bei einfachem Rechner Java Basics - Anfänger-Themen 7
B Bitte Hilfe für Funktionalität eines Sudokus Java Basics - Anfänger-Themen 8
G Brauche bitte Hilfe, bei umgekehrter Ausgabe!! Java Basics - Anfänger-Themen 6
G Input/Output FilenameFilter aber bitte keine Unterordner Java Basics - Anfänger-Themen 5
J Vererbung Anfänger Programm bitte um Kritik&Anregungen Java Basics - Anfänger-Themen 21
N Bitte Java Basics - Anfänger-Themen 2
D ???:L Bitte einmal mit drüber nachdenken Java Basics - Anfänger-Themen 5
eLogic DownloadManager - Bitte helft mir Java Basics - Anfänger-Themen 7
R Vererbung Bitte um Erklärung - Instanzvariablen Java Basics - Anfänger-Themen 8
U finde fehler nicht! bitte um hilfe Java Basics - Anfänger-Themen 8
M Problem: code too large - bitte um Hilfe Java Basics - Anfänger-Themen 12
U Bitte Helfen kleines Spiel Java Basics - Anfänger-Themen 9
B Java und Javac funktionieren nicht - bitte hilfe Java Basics - Anfänger-Themen 5
P Bitte helft mir Java Basics - Anfänger-Themen 3
3 Bitte um Hilfe bei Lösung einer Aufgabe Java Basics - Anfänger-Themen 16
M Aus CSV-Datei lesen und anzeigen (bitte schnell um Antwort) Java Basics - Anfänger-Themen 6
R Jave Problem... bitte um Hilfe!! Java Basics - Anfänger-Themen 6
S Java problem, bitte um hilfe! Java Basics - Anfänger-Themen 9
B Bitte um Hilfe es geht um Array + Punkte wie Dreieck,Fläche etc. Java Basics - Anfänger-Themen 12
C Bitte kurzes Feedback - JavaVersionen Java Basics - Anfänger-Themen 6
M Bitte um Verbesserungsvorschläge Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben