我正在创建一个循环java程序,它接受用户输入的两个点并找到点之间的距离,并在用户输入q时退出循环。现在我拥有它所以当输入q时退出但现在我输入数字时出现错误。
import java.util.Scanner;
public class Bonus1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while(true) {
System.out.print("Enter the x and y coordinates for point 1: ");
String x1 = input.nextLine();
if (quit(x1))
break;
double x1_d = Double.parseDouble(x1);
String y1 = input.nextLine();
if (quit(y1))
break;
double y1_d = Double.parseDouble(y1);
System.out.print("Enter the x and y coordinates for point 2: ");
String x2 = input.nextLine();
if (quit(x2))
break;
double x2_d = Double.parseDouble(x2);
String y2 = input.nextLine();
if (quit(y2))
break;
double y2_d = Double.parseDouble(y2);
double distance = Math.sqrt(((x2_d - x1_d) *
(x2_d - x1_d) +
(y2_d - y1_d)*(y2_d - y1_d)));
System.out.printf("The distance of the two points is: %.2f \n" , distance);
}
} // main()
public static boolean quit(String input) {
return input.equalsIgnoreCase("q");
}
} // Bonus1
答案 0 :(得分:0)
我认为你最好使用input.nextDouble()而不是input.nextLine(),以便你可以直接访问double变量并确保这是一个java程序,并且不能使用printf语句并使其打印或println并检查语法......