Ankündigung

Einklappen
Keine Ankündigung bisher.

kann mir jemand bei java helfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • kann mir jemand bei java helfen

    hi leute
    bin grad dabei zu java lernen und programmier so ein beispielprogramm
    wie ihr hier sehen könnt ist es zur zeit nicht sehr anspruchsvoll
    :


    Code:

    package Fahrzeug;
    abstract class StrassenFzg {
    protected String bez;
    protected short geschw;
    protected boolean verliehen;
    abstract boolean eingeben();
    abstract boolean anzeigen();
    public boolean verleihen() {
    if (verliehen)
    return false;
    else {
    verliehen = true;
    return true;
    }
    }
    }
    -------------------------------------------------------------------------------------------------

    Code:

    public class Auto extends StrassenFzg {
    protected short plaetze;
    public boolean eingeben() {
    Scanner eingabe = new Scanner(System.in);
    try {
    System.out.print("Bezeichnung: ");
    bez = eingabe.next();
    System.out.print("Sitzplaetze: ");
    plaetze = eingabe.nextShort();
    System.out.print("Geschwindigkeit: ");
    geschw = eingabe.nextShort();
    return true;
    } catch (Exception e) {
    return false;
    }
    }
    public boolean anzeigen() {
    System.out.println("/nDas Auto ist ein " + bez);
    System.out.println("Es hat " + plaetze + " Sitze.");
    System.out.println("Der Top-Speed: " + geschw);
    if (verliehen)
    System.out.println("Es ist verliehen.");
    else
    System.out.println("Es ist nicht verliehen.");
    return true;
    }
    }
    ------------------------------------------------------------------------------------------------------------------------------

    Code:

    public class AutoTest {
    public static void main(String[] args) {

    Auto ein_auto;
    ein_auto = new Auto();
    if (ein_auto.eingeben())
    ein_auto.anzeigen();
    else
    System.out.println("Fehlerhafte Eingabe!");

    }
    }
    -----------------------------------------------------------------------------------
    das wars jetzt meine frage
    wenn ich es laufen lasse und bei der bezeichnung zb. volvo v70 eingebe und enter drücke
    erkennt er das wort noch dem leerzeichne als sitzplätze an und liefert dannch:

    Bezeichnung: volvo v40

    Sitzplaetze: Fehlerhafte Eingabe!

    hab schon alles mögliche probier(delimiters usw.)
    aber nie klappt es so wie es sein sollte
    hat jemand ein tip wie es klappen könnte

    danke im voraus

  • #2
    keiner ne idee??????????

    Kommentar


    • #3
      Versuchs mal mit folgender Zeile:
      eingabe.useDelimiter("\n");
      Setze die nach der Zeile ein, wo Du eine Instanz der Klasse Scanner erzeugst.

      Kommentar


      • #4
        jetzt kann ich zwar die sitzplätze eingeben aber
        in der nächsten zeile steht sofor fehlerhafte eingabe

        Kommentar


        • #5
          Hm, bei mir funktionierts. Gibst Du irgendwie noch einen Abstand nach den Sitzplätzen ein?

          Kommentar


          • #6
            kannst du mir noch mal genau die zeile zeigen wo ich die zeile einfügen soll

            Kommentar


            • #7
              import java.util.Scanner;

              public class Auto extends StrassenFzg {
              protected short plaetze;

              public boolean eingeben() {
              Scanner eingabe = new Scanner(System.in);
              eingabe.useDelimiter("\n");

              try {
              System.out.print("Bezeichnung: ");
              bez = eingabe.next();
              System.out.print("Sitzplaetze: ");
              plaetze = eingabe.nextShort();
              System.out.print("Geschwindigkeit: ");
              geschw = eingabe.nextShort();
              return true;
              } catch (Exception e) {
              return false;
              }
              }

              public boolean anzeigen() {
              System.out.println("\nDas Auto ist ein " + bez);
              System.out.println("Es hat " + plaetze + " Sitze.");
              System.out.println("Der Top-Speed: " + geschw);
              if (verliehen) System.out.println("Es ist verliehen.");
              else System.out.println("Es ist nicht verliehen.");
              return true;
              }
              }

              Kommentar


              • #8
                bei mir funktioniert das nicht nach der 2. eingabe wird sofort abgebrochen egal was ich dann mache

                Kommentar


                • #9
                  hm... und wenn du den String "\n" durch "\r\n" ersetzest?

                  Kommentar


                  • #10
                    hee super das funktioniert
                    danke für deine hilfe

                    Kommentar


                    • #11
                      Bitte, bitte...
                      Ich hätte früher daran denken sollen, dass Linux für einen Zeilenumbruch das Byte 10 verwendet, also "\n" und Windows die Bytefolge 13, 10, also "\r\n" tsts

                      Kommentar


                      • #12
                        Ehm, meinst Du nicht ein ASCII-Zeichen, wie z.B. #9 für Tab unter Delphi(Pascal)?

                        Denn das 10. Byte wäre ein bisschen grösser als Int 10.

                        grz zer00

                        Kommentar


                        • #13
                          Oh, natürlich meinte ich oben Bytewerte nicht Offsets.

                          Kommentar


                          • #14
                            Bitte nicht falsch verstehen, habs nicht böse gemeint.

                            grz zer00

                            Kommentar


                            • #15

                              Kommentar

                              Lädt...
                              X