Всякий раз, когда я запускаю x1 (или любой другой int) в виде числа с десятичной точкой (например, 3.7), я получаю сообщение об ошибке ниже. Я попытался выяснить, что вызывает ошибку, но так как я не очень хороший программист на Java (пока :) :) Я не могу понять, как это понять.простой Java дистанционный калькулятор.
Заранее спасибо.
Сообщение об ошибке:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at MathAvstand.main(MathAvstand.java:12)
Программа:
import java.lang.Math;
import java.text.DecimalFormat;
import java.util.Scanner;
public class MathAvstand {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("x1: ");
double x1 = keyboard.nextInt();
System.out.print("x2: ");
double x2 = keyboard.nextInt();
System.out.print("y1: ");
double y1 = keyboard.nextInt();
System.out.print("y2: ");
double y2 = keyboard.nextInt();
double a = x1 - x2;
double b = y1 - y2;
double summa1 = Math.pow(a,2)+ Math.pow(b,2);
double avstand = Math.sqrt(summa1);
System.out.println("x1: " + x1);
System.out.println("x1: " + x2);
System.out.println("x1: " + y1);
System.out.println("x1: " + y2);
System.out.println("Avståndet mellan punkterna är: " + avstand);
}
}
Подсказка: InputMismatchException может означать несоответствие ввода –
Вы также можете захотеть изучить входную проверку, а не фактически доверять тому, что пользователь действительно будет вводить действительный номер ... – user2366842