importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassZeichenzaehler{publicstaticvoidmain(String[] args)throwsIOException{int counter =0;BufferedReader ein =newBufferedReader(newInputStreamReader(System. in ));System. out . print ("Text:"); \\ Text und Zeichen sollten untereinander stehen.Wie geht das?System.out.print ("Zeichen:");StringText= ein.readLine();StringZeichen= ein.readLine();for(int i =0, j =Text.length(); i < j; i++){if(Text.charAt(i)==) \\ Wie kann ich das hier eingeben dass hier das eingegebene Zeichen stehen soll?
counter++;}System.out.println("Der Text enthält "+ counter +Zeichen);}}
Die Probleme habe ich mit: \\ beschrieben im Programm.
Hoffe ihr könnt mir weiter helfen.
Das Programm soll einen Text einlesen, und ein Zeichen und dann den Text auf die Zeichen überprüfen, sie zählen und ausgeben wie oft ein Zeichen im Text vorkommt.
ja das hat geholfen. somit wäre das erste Problem gelöst. Danke
jetzt würde ich nur noch gerne wissen wie es geht dass Text: und Zeichen: untereinander stehen wenn ich das Programm starte. denn wenn ich es so starte kommt: Text:Zeichen:
es sollte aber
Text:
Zeichen:
rauskommen.
Tut mir leid des hilft mir ned Weiter. Nachdem die Konsole Text: ausgibt muss ich dort was schreiben, und da springt er mir immer in die nächste Zeile zu Zeichen.
Tut mir leid des hilft mir ned Weiter. Nachdem die Konsole Text: ausgibt muss ich dort was schreiben, und da springt er mir immer in die nächste Zeile zu Zeichen
Also du willst zuerst "Text:" auf die Konsole schreiben, dann soll vom User der Text eingegeben werden
Danach soll in der nächsten Zeile "Zeichen:" ausgegeben werden und der User soll eben das Zeichen eingeben?
Ist es so von dir gewünscht?
Dann würde ich einfach deine beiden Aufrufe "ein.readLine()" an die richtige Stelle geben
Das ist nicht möglich beide Zeilen gleichzeitig anzeigen zu lassen und dann jeweils deine Eingaben zu tätigen. Die (Windows)Konsole unterstützt es nicht Werte aus vorherigen Zeilen auszulesen, Immer nur die letzte. (auf jedenfall ist es mir nicht anders bekannt).
Es geht wirklich nur stupide ->
Ausgabe schreiben lassen, Eingabe entgegen nehmen, nächste Zeile
Ausgabe schreiben lassen, Eingabe entgegen nehmen, nächste Zeile
......
eine möglichkeit wäre es die Cursor Position zu ändern.
Also halt die beiden Texte ausgeben und dann den cursor wieder an das ende der entsprechende Zeile setzen. Allerdings muss ich dazu sagen, dass ich nicht weiß ob java das ohne bibliothek hinbekommt. Grundsätzlich ist das in windows Konsolen möglich, aber ob Java das unterstützt weiß ich nicht genau.
eine möglichkeit wäre es die Cursor Position zu ändern.
Also halt die beiden Texte ausgeben und dann den cursor wieder an das ende der entsprechende Zeile setzen. Allerdings muss ich dazu sagen, dass ich nicht weiß ob java das ohne bibliothek hinbekommt. Grundsätzlich ist das in windows Konsolen möglich, aber ob Java das unterstützt weiß ich nicht genau.
Die Windows Console unterstützt das wunderbar:
[kernel32.dll] SetConsoleCursorPosition(handle, coord)
Ob Java das aber auch unterstützt ist eine andere frage. ggf durch eine lib (http://sourceforge.net/projects/javacurses/) oder eben jni