Input mit if-else

steven789hjk543

Aktives Mitglied
Ich habe ein Programm geschrieben, das ich mit java-learn-app laufen lasse.

import java.util.Scanner;

public class Program
{
public static void main(String[] args) {
Scanner h = new Scanner(System.in);
if(h = “yes“) {System.out.println("Richtig"); }
else {System.out.println("Falsch");}
}
}
Screenshot_2019-05-09-02-32-23.jpeg
Ich will, dass man 'yes' eingibt, und dann steht da 'richtig', ansonsten 'falsch'. Was ist der Fehler?
 
K

kneitzel

Gast
In java ist = eine Zuweisung. Der Operator für den Vergleich ist in Java ==.

Aber bei Referenzen vergleicht == nur die Referenz und nicht den Inhalt. Daher ist hier h.equals("yes") als Bedingung im If richtig.
 

steven789hjk543

Aktives Mitglied
Würdet ihr den Code so schreiben?:

Java:
import java.util.Scanner;

public class Program
{
public static void main(String[] args) {
Scanner h = new Scanner(System.in);
if(h.equals("yes"))   {System.out.println("Richtig"); }
else {System.out.println("Falsch");}
}
}

Oder ist da noch etwas falsch?
 
Zuletzt bearbeitet von einem Moderator:
K

kneitzel

Gast
Also als erstes: Hast Du den Code ausprobierte? Lässt er sich übersetzen? Macht er, was du willst?

Damit kriegst Du direkt eine erste Antwort ohne uns zu bemühen.

Aber: Antwort #4 hast Du noch nicht beachtet.

Und bitte Code immer in Code Tags setzen (z.B. über die ... oberhalb des Eingabefensters und da dann Code auswählen....
 

steven789hjk543

Aktives Mitglied
Ja, O.K. Ich wollte das im nachhinein noch verbessern. Aber ich habe den Code ausprobiert und das verlangt keinen input. Stattdessen schreibt es gleich “falsch“. Screenshot_2019-05-09-14-25-15.jpeg

Und du solltest nicht den Scanner `h` mit einem String vergleichen, sondern `h.nextLine()` mit dem String vergleichen
Wie macht man das?
 
K

kneitzel

Gast
Also generell, indem man sich über die Klassen informiert, die man verwenden möchte.

Natürlich fragt er nichts ab, denn Du nutzt den Scanner ja in keiner Weise. Und der Scanner ist ein Scanner und nie ein String "yes". Daher gibt es sofort "falsch" aus.

Das Buch Java ist auch eine Insel habe ich noch nicht hier erwähnt, daher mache ich das mal:
http://openbook.rheinwerk-verlag.de/javainsel/
Das Buch könnte hilfreich sein, um einen koordinierten Start in die Java Entwicklung zu bekommen.

Den Scanner behandelt das Buch auch in diesem Kapitel:
http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_04_008.htm

Man kann aber auch einfach Google befragen, z.B. nach "Java Scanner Einführung" - dann bekommt man Links wie z.B.
https://javabeginners.de/Ein-_und_Ausgabe/Scanner.php
Da scheint es mir etwas besser erklärt (falls Du wirklich da weiter machen willst und erst einmal den Scanner zum laufen kriegen möchtest ...)

Mit den besten Grüßen,

Konrad
 

steven789hjk543

Aktives Mitglied

steven789hjk543

Aktives Mitglied
Java:
import java.util.Scanner;

public class Program
{
public static void main(String[] args) {
Scanner h = new Scanner(System.in);
h.nextLine();
if(h.equals("yes")) {System.out.println("Richtig"); }
else {System.out.println("Falsch");}
}
}

Habe es so gemacht. Funktioniert nicht.
 
Zuletzt bearbeitet von einem Moderator:

temi

Top Contributor
Grundlagen:

Mit der nachfolgenden Zeile erzeugst du eine Instanz der Klasse "Scanner", d.h. die Variable "h" ist vom Typ Scanner.

Java:
Scanner h = new Scanner(System.in);

Hier versuchst du dann eine Instanz der Klasse "Scanner" mit einem String zu vergleichen, das wird so nicht gehen.

Java:
h.equals("yes")

Hier verwendest du die Scannerinstanz, indem du die Methode "nextLine()" darauf aufrufst. Diese Methode liefert als Ergebnis einen String zurück. Allerdings wird dieses Ergebnis nicht verwendet, z.B. indem du es einer String-Variablen zuweist.

Java:
h.nextLine();
 

sascha-sphw

Top Contributor
Das kannst du übrigens noch verkürzen, sodass du den eigentlichen Befehl println nur noch einmal schrieben musst.

Java:
System.out.println(h.equals("yes") ? "Richtig" : "Falsch");
Der Code ist dadurch aber immer noch nicht funktional.

public static void main(String[] args) { Scanner h = new Scanner(System.in); h.nextLine();

Die Signatur der Methode nextLine ist wie folgt.
Code:
public String nextLine()
https://docs.oracle.com/javase/10/docs/api/java/util/Scanner.html#nextLine()
Wenn Du dann nichts mit dem Rückgabewert machst, kann es nicht funktionieren.

TIPP: Mit Zuweisung ist sowas gemeint.
Java:
String inputLine = h.nextLine();
 

steven789hjk543

Aktives Mitglied
Ich habe dieses Programm gefunden.

Java:
import java.util.Scanner;

class EchoQuadrat
{
  public static void main (String[] args)
  {
    Scanner scan = new Scanner( System.in );
    int zahl, quadrat; // zwei int-Variablen deklarieren

    System.out.println("Geben Sie eine Ganzzahl ein:");
    zahl = scan.nextInt();
    quadrat = zahl * zahl ;  // das Quadrat berechnen

    System.out.println("Das Quadrat von " + zahl + " ist " + quadrat);
  }
}

Von hier: http://www.gailer-net.de/tutorials/java/Notes/chap10/ch10_13.html

Das ist für meine Zwecke gut geeignet.
 

steven789hjk543

Aktives Mitglied
Stimmt, das schaffe ich nicht. Mein eigentliches Ziel ist es, 2 Strings miteinander zu vergleichen. Diesen Vergleich von integer brauche ich auch für so ein Programm, dass mir mal eingefallen ist.

Die Frage ist, wie man ein Passwort-Überprüfung macht. Z.B. kommt da: “Geben sie Passwort ein.“ Passwort wäre z.B. “Apfel“. User gibt “Tomate“ ein. Programm überprüft und schreibt: “Falsch“, bei Eingabe von “Apfel“ kommt richtig und dann das weitere Programm.

Diesen Vergleich der integer brauch ich für ein Programm, mit dem man das persönliche Risiko für Diabetes berechnet.
 

mihe7

Top Contributor
Die Frage ist, wie man ein Passwort-Überprüfung macht.
Dein Code war doch fast fertig und das einzige, was Du berücksichtigen hättest müssen, sind die Tipps, die Dir die Leute gegeben haben:
Java:
import java.util.Scanner;

public class Program {
    public static void main(String[] args) {
        Scanner h = new Scanner(System.in);
        String input = h.nextLine();
        if(input.equals("yes")) {
            System.out.println("Richtig"); 
        } else {
            System.out.println("Falsch");
       }
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Scanner Input mit if überprüfen Java Basics - Anfänger-Themen 5
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
T User input in Verbindung mit ChronoUnit anpassen und falls falsche Eingabe getätigtwird Java Basics - Anfänger-Themen 7
schemil053 Multithread - Input verrutscht während etwas ausgegeben wird Java Basics - Anfänger-Themen 6
S String mit Int input vergleichen Java Basics - Anfänger-Themen 5
javapingu Endlosschleife bei User Input mit try Scanner Java Basics - Anfänger-Themen 7
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
JD_1998 Vektorrechner; User Input -> Index out of bounds Java Basics - Anfänger-Themen 3
I Array übernimmt immer den letzten Input. Java Basics - Anfänger-Themen 14
L Wie Input auf verschiedene Kriterien hin überprüfen? Java Basics - Anfänger-Themen 3
D Input/Output Input von zwei Koordinaten validieren und anschließend Werte speichern Java Basics - Anfänger-Themen 7
J Sharing Audio input Java Basics - Anfänger-Themen 6
J Fragen zu Input/Output Java Basics - Anfänger-Themen 3
O Input/Output newbile und keine Ahnung! Java Basics - Anfänger-Themen 16
D [AES] input not multiple of 16 Java Basics - Anfänger-Themen 2
J Input/Output Input als Parameter an Methoden übergeben Java Basics - Anfänger-Themen 23
J Input-Variable nicht sichtbar Java Basics - Anfänger-Themen 2
T '>' vor Console input Java Basics - Anfänger-Themen 3
J Input/Output Input Buttons Html mit JSP Java Basics - Anfänger-Themen 3
C Wie kann ich einen User Input mit einer If-Anweisung verbinden? Java Basics - Anfänger-Themen 5
S Tastatur input lesen Java Basics - Anfänger-Themen 7
I Datentypen input.nextCharAt(0) wirft einen Fehler Java Basics - Anfänger-Themen 3
J Input/Output Scanner Input als etwas einsetzen Java Basics - Anfänger-Themen 3
H Methode mit späterem Input Java Basics - Anfänger-Themen 3
S Input/Output Doppelte Input-Abfrage Java Basics - Anfänger-Themen 3
S Input/Output Programm läuft nach input-Abfrage nicht weiter. Java Basics - Anfänger-Themen 2
T Java Input Java Basics - Anfänger-Themen 6
GoldenShadow Input/Output Verschiedene Versionen von Input/Output Java Basics - Anfänger-Themen 3
S LinkedList mit Input vergleichen. Java Basics - Anfänger-Themen 5
A Input/Output Input eingabe in unicode übersetzen Java Basics - Anfänger-Themen 3
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
L JTextField/Listener Input Problem Java Basics - Anfänger-Themen 2
O OOP Input & Output in der GUI-Programmierung Java Basics - Anfänger-Themen 2
C Input & Output Frage Java Basics - Anfänger-Themen 4
E Input & Output Problem Java Basics - Anfänger-Themen 7
F z = input.nextChar(); PROBLEM Taschenrechner Java Basics - Anfänger-Themen 7
A Input/Output Input überprüfen und weiterverarbeiten Java Basics - Anfänger-Themen 10
R User Input wird übersprungen?! Java Basics - Anfänger-Themen 17
C Vector erzeugt neue Indizes nach Input Java Basics - Anfänger-Themen 2
B do while (input = zahl) Java Basics - Anfänger-Themen 6
H Text ausdrucken, den ich entweder direkt in die Kommandozeile schreibe, oder über input redirect übe Java Basics - Anfänger-Themen 2
S Input/Output Data-Input/Output-Stream Java Basics - Anfänger-Themen 2
M Kontaktbuch - Probleme beim Input Java Basics - Anfänger-Themen 3
M Output Input im Cmd Fenster Java Basics - Anfänger-Themen 7
S Input (Blutiger Anfänger) Java Basics - Anfänger-Themen 18
P HTML <input> Feld in einem JLabel auslesen Java Basics - Anfänger-Themen 4
A HSSFWorkbook als Return-Wert für Input in andere Methode Java Basics - Anfänger-Themen 5
S Arrays - Fehler bei der Verarbeitung: For input string: "Berlin" Java Basics - Anfänger-Themen 14
B NumberFormatException: For input string: "" Java Basics - Anfänger-Themen 4
C OOP Java Projekt Bankautomat input fehler Java Basics - Anfänger-Themen 14
D Input Output Java Basics - Anfänger-Themen 8
Spin IllegalArgumentException Input == null Java Basics - Anfänger-Themen 7
N Probleme mit Input/OutputStreams, Daten im Speicher verwalte Java Basics - Anfänger-Themen 2
D Input Scanner Java Basics - Anfänger-Themen 9
F Java login & input (html). Java Basics - Anfänger-Themen 4
N Verschiedene Input/Output Klassen Java Basics - Anfänger-Themen 3
F Verwenden von Input innerhalb eines Applets Java Basics - Anfänger-Themen 3
L StdIn Stdout / Input Output Aufgabe Java Basics - Anfänger-Themen 3
M Input/Output Stream aus einem String Java Basics - Anfänger-Themen 2
G Input Dialog Problem Java Basics - Anfänger-Themen 11
F Input kann nicht verglichen werden Java Basics - Anfänger-Themen 6
J File Input/Output und Applet Java Basics - Anfänger-Themen 2
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
I If / Else in Setter? Java Basics - Anfänger-Themen 8
M If-Else Java Basics - Anfänger-Themen 5
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
laxla123 Verschachtelte If-Else Schleife Java Basics - Anfänger-Themen 21
laxla123 If-else Java Java Basics - Anfänger-Themen 4
luggas89 If else auch mit unterschiedlichen Antworten Java Basics - Anfänger-Themen 5
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
W Verschachtelte If-else --> finde meinen Fehler nicht Java Basics - Anfänger-Themen 30
pumpgun99 Fehler Meldung "else without if" Java Basics - Anfänger-Themen 3
B Scanner-If/else kleine Abhebungs-Simulation Java Basics - Anfänger-Themen 3
A Übung Else if Java Basics - Anfänger-Themen 2
M Else wird nicht ausgeführt. Java Basics - Anfänger-Themen 5
L If und else bei 2 Dimensionalen Arrays Java Basics - Anfänger-Themen 8
F if else if anfängerfrage Java Basics - Anfänger-Themen 22
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
C Problem mit If Else If und Überprüfung eines Counters Java Basics - Anfänger-Themen 3
T "Einkauf" & if else Struktur Java Basics - Anfänger-Themen 7
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
A break; mit Einfluss hinter else if Block Java Basics - Anfänger-Themen 3
R else without if error Java Basics - Anfänger-Themen 5
F Methoden Verschachtelte if else Methode Java Basics - Anfänger-Themen 10
M Java Taschenrechner (if-else) Java Basics - Anfänger-Themen 11
C Variablen 'else' without 'if' Java Basics - Anfänger-Themen 4
F If - Else Java Basics - Anfänger-Themen 3
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
I if/else Statements Java Anfänger Java Basics - Anfänger-Themen 14
M jOptionPane mit if else Java Basics - Anfänger-Themen 16
K Frage zu If & else if Java Basics - Anfänger-Themen 5
R else if anweisungen Java Basics - Anfänger-Themen 2
Y Problem mit If-Else Verzweigung! Java Basics - Anfänger-Themen 9
A Warum funktioniert switch aber nicht if/else? Java Basics - Anfänger-Themen 23
Hijo2006 If-else Java Basics - Anfänger-Themen 6
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
T If/ Else If (zurückkehren) Java Basics - Anfänger-Themen 4
O Grosse If / Else verschachtelung übersichlitcher gestlten Java Basics - Anfänger-Themen 6
S Erste Schritte Unterschied "if" und "else if" Java Basics - Anfänger-Themen 27

Ähnliche Java Themen

Neue Themen


Oben