Eine gute Antwort könnte sein:

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.

Der gesamte Output wird in eine Datei gesendet

Hier ist ein Beispiel der Umlenkung des Outputs dieser Datei. Beachten Sie, dass der Anwender keine Eingabeaufforderungen sieht, da diese zur Output-Datei geschickt wurden:

C:\users\default\JavaLessons>java Discount > discount.out

100
20

C:\users\default\JavaLessons>type discount.out
Geben Sie den Listenpreis in Cent ein:
Geben Sie den Discount in Prozent ein:
Discountpreis: 80

C:\users\default\JavaLessons>

Natürlich bekommt die Output-Datei keines der Zeichen, die der Anwender eingeben hat, da diese an das Programm geschickt wurden. Um mit diesem Problem umzugehen werden Programme manchmal so geschrieben, dass sie den gesamten Input des Anwenders mittels echo ausgeben:

import java.io.*;
class Discount
{
  public static void main ( String[] args ) throws IOException
  {
    int listenpreis;
    int discount;
    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();
    discount = Integer.parseInt( zeile );
    System.out.println("Discount: " + zeile );      // echo input

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


FRAGE 11:

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