Ich Brauche Hilfe

Diskutiere Ich Brauche Hilfe im Java Basics - Anfänger-Themen Bereich.
E

EEY

Warum Functioniert das nicht

import java.util.Scanner;

public class Main {
public static void main(String[]args){
Scanner scanner = new Scanner(System.in);
double In1;
String Aply = new String();
double In2;
double Ergebnis;
while (true) {
In1 = scanner.nextDouble();
Aply = scanner.next();
In2 = scanner.nextDouble();

if (Aply.equals("+")) {
Ergebnis = In1 + In2;
}else if (Aply.equals("-")){
Ergebnis = In1-In2;
}
else {
Ergebnis = 0.0;
}
System.out.println(Ergebnis);
}
}
}
 
J

JustNobody

Was gibst Du denn ein, so dass diese Exception geworfen wird?

Schau Dir die Dokumentation der Scanner Klasse an, wenn Du mit dieser Klasse arbeiten willst/sollst.

Die Eingabe soll durch Whitespace getrennt werden, d.h. wenn Du eingibst "2+2" , dann versucht der Scanner diese ganze Zeichenkette als Double zu nehmen und das geht nicht ==> TypeMissmatchException.

Gibst Du aber "2 + 2" an oder "2" , "+" , "2" (Jede Eingabe mit Enter bestätigen!), dann funktioniert es.

Also an Deinem Code gezeigt:
Code:
C:\Projects\Tests>java Main
2 + 2
4.0
2
+
2
4.0
2+2
Exception in thread "main" java.util.InputMismatchException
        at java.base/java.util.Scanner.throwFor(Scanner.java:939)
        at java.base/java.util.Scanner.next(Scanner.java:1594)
        at java.base/java.util.Scanner.nextDouble(Scanner.java:2564)
        at Main.main(Main.java:11)

C:\Projects\Tests>
Die 4.0 ist jeweils die Ausgabe deines Programmes.
 
krgewb

krgewb

Bitte immer in Code-Tags posten.
Java:
import java.util.Scanner;

public class Main {

    public static void main(String[] args){

        Scanner scanner = new Scanner(System.in);
        double In1;
        String Aply = new String();
        double In2;
        double Ergebnis;

        while (true) {
            In1 = scanner.nextDouble();
            Aply = scanner.next();
            In2 = scanner.nextDouble();

            if (Aply.equals("+")) {
                Ergebnis = In1 + In2;
            } else if (Aply.equals("-")){
                Ergebnis = In1 - In2;
            } else {
                Ergebnis = 0.0;
            }
            System.out.println(Ergebnis);
        }

    }
}
 
Thema: 

Ich Brauche Hilfe

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben