1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Komme nicht weiter da ich nicht weiß wie mein eine EIngabe erzwingt?!

  • ramos
  • 12. Oktober 2006 um 22:28
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • ramos
    Punkte
    25
    Beiträge
    3
    • 12. Oktober 2006 um 22:28
    • #1

    Hallo,

    also ich habe keine Ahnung wie man eine Eingabe erzwingt wenn nicht so:

    Code
    public class Fastfood10{
    
    
        public static void main(String[] args){
    
        Scanner einlesen = new Scanner(System.in);
        int EssenAuswahl;
        double wechselgeld;
    
        {
        EssenAuswahl = einlesen.nextInt();
    System.out.println("Guten Tag, was möchten Sie bestellen? (1) Big Mac   (2) McChicken   (3) Pommes Frittes");
    while ( EssenAuswahl > 3 ) {
    System.out.print ("Bitte wählen Sie ein Angebot zwischen 1 und 3 aus.");
            }
            }
        }
    }
    Alles anzeigen


    Beim Komplilieren kommt die Fehlermeldung:

    Code
    Fastfood10.java:10: cannot find symbol
    symbol  : class Scanner
    location: class Fastfood10
            Scanner einlesen = new Scanner(System.in);
            ^
    Fastfood10.java:10: cannot find symbol
    symbol  : class Scanner
    location: class Fastfood10
            Scanner einlesen = new Scanner(System.in);
  • Baby
    Punkte
    2.916
    Beiträge
    561
    • 12. Oktober 2006 um 22:40
    • #2

    dumme frage jetzt, aber hast du am anfang import java.util.Scanner; hingeschrieben?

  • ramos
    Punkte
    25
    Beiträge
    3
    • 12. Oktober 2006 um 23:45
    • #3

    Genau das wars :) Aber die geschwungenen Klammern passen hier irgendwie nicht

    "{
    EssenAuswahl = einlesen.nextInt();

    while ( EssenAuswahl > 3 ) {
    System.out.print ("Bitte wählen Sie ein Angebot zwischen 1 und 3 aus.");

    {
    if (i = 1)
    System.out.println("Sie haben einen Big Mac bestellt, das macht 3,50€.")
    if (i = 2)
    System.out.println("Sie haben einen McChicken bestellt, das macht 2,50€.")
    if (i = 3)
    System.out.println("Sie hanen einen Hamburger bestellt, das macht 1€.")
    else if (i > 3) System.out.println("Bitte wählen Sie einen Wert zwischen 1 und 3")

    }

    und ich weiß auch nicht wie die richtig gehören, kann mir mal jemand eine Regel dafür geben ;) ?

  • Korrupt
    Punkte
    605
    Beiträge
    110
    • 12. Oktober 2006 um 23:55
    • #4

    ich würd's so machen:

    Code
    ...
    EssenAuswahl = einlesen.nextInt();
    
    while ( EssenAuswahl > 3 || EssenAuswahl < 1 ) {
       System.out.print ("Bitte wählen Sie ein Angebot zwischen 1 und 3 aus.");
       EssenAuswahl = einlesen.nextInt();
    }
    switch(EssenAuswahl) {
      case 1:        
        System.out.println("Sie haben einen Big Mac bestellt, das macht 3,50€.");
        break;
      case 2:
        System.out.println("Sie haben einen McChicken bestellt, das macht 2,50€.");
        break;
      case 3:
        System.out.println("Sie hanen einen Hamburger bestellt, das macht 1€.");
        break;
      default: //dient nur zur Sicherheit. Sollte eigentlich schon durch die while-Bedingung abgefangen werden
        System.out.println("Fehler");
    }
    ...
    Alles anzeigen
  • Homer
    Punkte
    1.079
    Beiträge
    210
    • 12. Oktober 2006 um 23:58
    • #5

    es ist schwer dir eine allgemeine regel zu geben, wann geschwungene klammern zu setzen sind(bein manchen fällen kann man, muss man aber nicht)..
    ich probiers...
    geschwungene klammern setzt man, wenn ein neuer bereich/block anfängt...das kann jetzt sein:
    eine klasse:
    public class Klasse1{
    ...
    }
    eine methode:
    public int getSumme(...){
    ...
    }
    eine schleife(egal ob for, while, do...while)

    bei ifs muss du aufpassen!...grundsätzlich kannst du bei ifs immer klammerns setzen, zb:
    if (..)
    {
    }
    else
    {
    }
    du musst aber keine klammern setzen, wenn du NUR EINE operation durchführen willst (bei deinem bsp die ausgabe)

    habe ich was vergessen....??

    achja, bei dir ist die klammer über EssenAuswahl zu viel (und die dazugehörige unten)

    das mit den klammern bekommst du schon noch hin...ist nicht sooo kompliziert!

  • JohnFoo
    Punkte
    4.231
    Beiträge
    761
    • 13. Oktober 2006 um 01:13
    • #6
    Zitat von Homer

    das mit den klammern bekommst du schon noch hin...ist nicht sooo kompliziert!

    Kauf' dir z.B. ein Buch. Oder schau' einfach wo lauffähiger Code Klammern hat und setzt sie auch nur dort :p

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum