gpt4 book ai didi

java - java中同一行的多个输入

转载 作者:行者123 更新时间:2023-12-01 13:37:52 25 4
gpt4 key购买 nike

我的 Java 程序作业需要帮助。作业是使用java计算两点之间的距离。我完成了第一部分,如下所示:

import java.util.Scanner;

public class DistanceCalcEasy
{
public static void main(String[] args)
{
// Creating a new scanner object
System.out.println("Distance Calculator");
Scanner input = new Scanner(System.in);

// Getting all of the coordinates
System.out.print("Enter the X coordinate of the first point: ");
double x1 = input.nextDouble();
System.out.print("Enter the Y coordinate of the first point: ");
double y1 = input.nextDouble();

System.out.print("Enter the X coordinate of the second point: ");
double x2 = input.nextDouble();
System.out.print("Enter the Y coordinate of the second point: ");
double y2 = input.nextDouble();

// Calculating the distance between the points
double distance = Math.sqrt( Math.pow((x2-x1),2) + Math.pow((y2-y1),2) );

// Printing the distance to the User
System.out.println("The distance between the points is " + distance);
}
}

现在的问题是我需要再次执行相同的程序,但是“困难的方法”是允许用户输入像 1,2 这样的坐标,而不是在自己的行上输入每个 x 和 y。经过一番研究后,我开始得出以下结论:

import java.util.Scanner;

public class DistanceCalcHard
{
public static void main(String[] args)
{
// Creating a new Scanner Object
System.out.println("Distance Calculator");
Scanner input = new Scanner(System.in);

// Getting the data points
System.out.print("Enter the first point x,y: ");
String firstPoint = input.nextLine();

System.out.print("Enter the second point x,y: ");
String secondPoint = input.nextLine();

Scanner scan = new Scanner(firstPoint).useDelimiter("\\s*,\\s*");
while (scan.hasNextDouble() )
{

}
// Calculating the distance

// Displaying the distance to the user
}
}

这看起来是一个好的开始吗?我想我可以制作两个数组,每个点一个,然后以这种方式进行距离计算。有没有更简单的方法来做到这一点,或者有人可以指出我更好的方向吗?谢谢您

最佳答案

将字符串拆分为两个值(即 x,y -> x 和 y)的更简单方法是对 String< 使用 split() 运算符 对象。

String[] pointA = firstPoint.split(",");

第二点也可以这样做。现在数组中有两个点,其中 pointA[0] 是 x 值,pointA[1] 是 y 值。

有关该方法的更多文档可以找到 here

关于java - java中同一行的多个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21128383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com