输入q时退出循环

时间:2011-10-17 03:49:20

标签: java loops

我正在创建一个循环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

1 个答案:

答案 0 :(得分:0)

我认为你最好使用input.nextDouble()而不是input.nextLine(),以便你可以直接访问double变量并确保这是一个java程序,并且不能使用printf语句并使其打印或println并检查语法......