Eine gute Antwort wäre:

Ja. Es ist jedoch ein bisschen umständlich, da sowohl die Eingabeauforderung für den Anwender als auch das berechnete Ergebnis zur Output-Textdatei geschickt wird.

Gesamten Output in eine Datei schreiben

Hier ist ein Beispiel für die Output-Umlenkung in eine Datei. Beachten Sie, dass der Anwender keine Eingabeaufforderungen sieht, da diese zur Output-Datei geschickt werden:

C:\daten\JavaNotes>java Discount > discount.out

100
20

C:\daten\JavaNotes>type discount.out
Geben Sie den Listenpreis in Cent ein:
Geben Sie den Discount in Prozent ein:
Discountpreis: 80

C:\daten\JavaNotes>

Natürlich bekommt die Output-Datei keines der Zeichen, die der Anwender eingeben hat, da diese an das Programm geschickt werden. Um dieses Problem zu lösen, werden Programme manchmal so geschrieben, dass sie den gesamten Input des Anwenders als Echo ausgeben:

import java.io.*;
class Discount
{
  public static void main ( String[] args ) throws IOException
  {
    int listenpreis;
    int rabatt;
    int discountpreis;

    String zeile;
    BufferedReader stdin = new BufferedReader(
        new InputStreamReader( System.in ) );

    System.out.println("Geben Sie den Listenpreis in Cent ein:");
    zeile = stdin.readLine();
    listenpreis = Integer.parseInt( zeile );
    System.out.println("Listenpreis: " + zeile );    // Echo Input

    System.out.println("Geben Sie den Discount in Prozent ein:");
    zeile = stdin.readLine();
    rabatt = Integer.parseInt( zeile );
    System.out.println("Discount: " + zeile );      // Echo Input

    discountpreis = listenpreis - (listenpreis*rabatt)/100 ;
    System.out.println( "Discountpreis: " + discountpreis );
  }
}


FRAGE 11:

Ist es ein Fehler, dass die Echo-Zeilen die Variable zeile anstelle der Variablen listenpreis und rabatt verwendet?

Inhaltsverzeichnis