Kann mir jemand bitte helfen?

 - (Funktion, IT, Java)

1 Antwort

Das Programm kann man wie folgt umsetzen:

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
      Scanner input = new Scanner(System.in);

      System.out.print("Länge: ");
      int laenge = input.nextInt();

      System.out.print("Breite: ");
      int breite = input.nextInt();

      int bodenflaeche = laenge * breite;

      System.out.println("Bodenfläche: " + bodenflaeche);
    }
}

Mithilfe des Scanner-Objekts, das mit der Anweisung Scanner input = new Scanner(System.in) erzeugt wird, kann man Benutzereingaben auslesen. Mit import java.util.Scanner; am Anfang importiert man die Scanner-Klasse, damit man sie im Programm verwenden kann.

Wie bereits bei Dir im Text erwähnt, gibt System.out.print() einen Text ohne Zeilenumbruch am Ende aus – nicht wie System.out.println() („ln steht für „line“, also „Zeile“).

Mittels input.nextInt() werden die Eingaben als Integer bzw. ganze Zahlen ausgelesen und in den Variablen laenge und breite gespeichert.

Multipliziert werden die Angaben laenge und breite mit dem Operator * (Sternchen). Die Variable bodenflaeche speichert das Ergebnis, das mit System.out.println() ausgegeben wird.

Allerdings stürzt das Programm ab, wenn ungültige Angaben gemacht werden, also keine Zahl eingegeben wird. Auch sollte die Eingabe von negativen Zahlen verhindert werden:

Scanner input = new Scanner(System.in);

System.out.print("Länge: ");
while(!input.hasNext("[0-9]+")) {
    System.out.println("Ungültige Eingabe!");
    System.out.print("Länge: ");
    input.next();
}
int laenge = input.nextInt();

System.out.print("Breite: ");
while(!input.hasNext("[0-9]+")) {
    System.out.println("Ungültige Eingabe!");
    System.out.print("Breite: ");
    input.next();
}
int breite = input.nextInt();
    
int bodenflaeche = laenge * breite;
    
System.out.println("Bodenfläche: " + bodenflaeche);

Die beiden while-Schleifen werden so oft ausgeführt, bis die jeweilige Eingabe eine positive ganze Zahl ist. Mit input.hasNext("[0-9]+") wird überprüft, ob die Eingabe nur aus Ziffern von 0 bis 9 besteht. Dadurch werden negative Zahlen, die ja ein Minuszeichen haben, ausgeschlossen. Bei ungültiger Eingabe wird mit input.next() die Abfrage wiederholt.