Programm mit Scanner und If-Statements

Jul1n4tor

Mitglied
Hallo erstmal,
vorab möchte ich sagen, dass ich ein ziemlicher Anfänger bin in Java. Ich habe auch gerade erst dieses Forum entdeckt, auf meiner Suche nach einer Antwort auf mein Problem.

Ich möchte ein Programm schreiben, dass eine Aufzugssteuerung simuliert. Das Programm wird auch am ende des Tages verschiedene Aufzugs-Klassen haben, die verschiedene Typen sind, mit verschiedenen zulässigen Gesamtgewichten usw.
Zunächst wollte ich deshalb erstmal das Eingabe-Fenster aufziehen, dass den Benutzer fragt nach Typ des Aufzugs, die zu befördernden Personen/Gewichte und von welchem zu welchem Stockwerk der Aufzug fahren soll.

Nun zum Problem:
Meine Idee war es, mithilfe von einem Scanner und mehreren If-Statements das ganze zu Verschachteln/Verpacken. Allerdings habe ich im Internet und in 2 Büchern die ich zu Java habe, fast keine Hilfe über den Umgang mit Scannern gefunden.
Deshalb die Frage:
Gibt es eine einfache Weise, wie man den Scanner über die Benutzer Inputs laufen lassen kann? Sodass er die Eingaben liest und dann über die If-Methoden die Richtigen ausgaben macht?
Wie ich dann später das ganze durch Variablen und Berechnungen ersetze, soll mal meine Sorge sein. Ich möchte nur erstmal das Grundgerüst für das Programm aufziehen.

Das hier ist auch mein erster Beitrag auf irgendeinem Forum. Ich bin mit erschöpft mit meiner Suche und denke dass das Problem auch nicht so komplex sein kann.
Habe keine Lust auf dieses typische Forums-"Was hast du dir dabei gedacht diese Frage überhaupt zu stellen????" das man häufig bei anderen Beiträgen lesen kann.

Deshalb: Ich freue mich über jede Hilfe und möchte hier keinem auf die Füße treten!

Ich hab mal meinen Code angehängt, ich denke aber mal dass das wohl kaum weiterhelfen wird.

Java:
package Aufzugsteuerung;
import java.util.Scanner;

public class Steuerung {
    public static void main (String[]args) {
        Scanner eingabe = new Scanner(System.in);
        String s = eingabe.next();
        System.out.println("Guten Tag! Bitte wählen sie ihren Aufzug: ");
           int a = eingabe.nextInt();
        
          if (s.equals("1")) {
            System.out.println ("Sie haben den Personen Aufzug ausgewählt. Wieviele Personen möchten sie befördern?");
//            if (s.equals("2")) {
//                System.out.println ("Zwei Person wurde ausgwählt. Von welchem Stockwerk starten sie?");
//
//            }
               System.out.println("Enter number.");
               int b = eingabe.nextInt();
               System.out.println("Enter number.");
               int c = eingabe.nextInt();

          }
    }
}
 
Meistens ist der beste Ansatz sich das problem auf zu teilen in "Stückchen" also mini Probleme die man ganz einfach lösen kann und diese baut man am Ende dann zusammen.

Ein Scanner in Anfangs Programmen wird meistens in einem loop hergenommen also while oder for

Ein Beispiel wie man das problem angehen könnte ohne eine Main methode zu haben mit 500 zeilen am ende
1. man zieht 1 Problematik raus wie zb die Aufzugs Auswahl und baust dir eine Klasse die das problem löst
2. wei man die Lösung später hernimmt ist eigentlich egal, die muss nur noch eingehängt werden aber du hast schon mal einen Teil des Problemes gelöst


Ein Code schnipsel wäre sowas ungefähr
Java:
import java.util.Scanner;
class ElevatorSelector
{
    private Scanner scanner = new Scanner(System.in);

    public int getElevator()
    {
        System.out.println("Guten Tag! Bitte wählen sie ihren Aufzug: ");
        return scanner.nextInt();
    }

}
public class Main{
    public static void main(String[] args){
        ElevatorSelector selector = new ElevatorSelector();

        int aufzugsNummer=0;
        while(aufzugsNummer==0)
        {
            aufzugsNummer = selector.getElevator();
        }
    }
}
egal wie man später den ElevatorSelector hernimmt, das Problem des einlesens ist gelöst, wie auch immer du das dann hernimmst am ende


Ich habe früher meistens geeksforgeeks hergenommen weil sie viele Beispiele haben, die sind zwar manchmal mangelhaft, aber zum lernen taugts

 
Perfekt! Das ist genau das wonach ich gesucht habe!
Ich werde mir die Sachen gleich mal anschauen und weiterarbeiten.
Aber schonmal vielen Dank und auch für die schnelle Antwort!
 

Neue Themen


Zurück
Oben