Hallo ihr Java Götter ^^
Ich habe vor kurzem mit Java Programmieren angefangen, und wollte jetzt ein Programm schreiben, dass die Zeichen, Wörter und Zeilen eines Strings/Datei einliest.
Hier der Code:
Das Programm lässt sich wunderbar kompilieren, allerdings wenn ich es ausführe erscheint folgendes:
(Die "1" habe ich eingefügt, um zu schauen bis wohin das Programm gelangt)
Das Programm beendet automatisch, ohne das man einen Text eingeben kann.
Ich vermute es kommt nicht in die while-schlaufe hinen, abr ich weiss nicht wieso.
kann mir jemand helfen ?
MFG
Mops
Ich habe vor kurzem mit Java Programmieren angefangen, und wollte jetzt ein Programm schreiben, dass die Zeichen, Wörter und Zeilen eines Strings/Datei einliest.
Hier der Code:
Code:
import java.io.*;
import java.util.*;
import java.lang.String;
public class Aufgabe5STR
{
/* global data */
/** ************ */
static BufferedReader din; /* Eingabestream */
/****************************************************************************
* FUNCTION: OpenInput *
* **************************************************************************
* eröffnet den Eingabekanal vom aktuellen Fenster, von der Tastatur *
****************************************************************************/
static void OpenInput()
{
din = new BufferedReader(new InputStreamReader(System.in));
}
/****************************************************************************
* FUNCTION: ReadString *
* **************************************************************************
* Liest eine String - Variable vom Eingabe - Stream und gibt sie zurück *
****************************************************************************/
static String ReadString()
{
String a="";
try {
a = din.readLine();
} catch (IOException e1) {
System.out.print ("Ungueltige Eingabe!!\n");
System.exit (-1);
}
return (a);
}
////////////////////////
///******************///
///* FUNCTION: main *///
///* ****************///
///* Hauptprogramm *///
///******************///
////////////////////////
public static void main(String[] args)
{
/******************
* Lokale Daten *
******************/
String text=""; //Text welcher vom Benutzer oder einer Datei stammt
int anz_zi=0; //Anzahl Zeilen
int anz_ze=0; //Anzahl Zeichen
int anz_wo=0; //Anzahl Wörter
int i; //Schleifenzähler
int z; //Aktuelles Zeichen
/********************************************
* Beginn des Programmes *
********************************************/
OpenInput();
System.out.println("Geben Sie einen Text ein, oder geben Sie eine Textdatei an: ");
try {
System.out.print ("1"); //Test Bis wohin das Programm kommt
while (din.ready()){
System.out.print ("2"); //Test Bis wohin das Programm kommt
text = ReadString();
System.out.print ("3"); //Test Bis wohin das Programm kommt
anz_zi++;
}
} catch (IOException e1) {
System.out.print ("Fehler beim Lesen\n");
}
anz_ze = text.length();
for (i=0; i<anz_ze; i++) {
z = text.charAt(i);
if ((z==33)||(z==46)||(z==20)||(z==44)||(z==58)||(z==59)||(z==63)||(z==9));
System.out.print (anz_zi+"..."+anz_ze+"..."+anz_wo);
}
}//function main
}
Das Programm lässt sich wunderbar kompilieren, allerdings wenn ich es ausführe erscheint folgendes:
Code:
>java Aufgabe5STR
Geben Sie einen Text ein, oder geben Sie eine Textdatei an:
1>Exit code: 0
(Die "1" habe ich eingefügt, um zu schauen bis wohin das Programm gelangt)
Das Programm beendet automatisch, ohne das man einen Text eingeben kann.
Ich vermute es kommt nicht in die while-schlaufe hinen, abr ich weiss nicht wieso.
kann mir jemand helfen ?
MFG
Mops