3

我正在尝试修复我编写的脚本:

import java.util.Scanner;
public class Line2
{
    public static void main (String [] args)

    {
        Scanner scan = new Scanner (System.in);
        System.out.println ("Please enter 4 integers");
        int x1 = scan.nextInt();
        int y1 = scan.nextInt();
        int x2 = scan.nextInt ();
        int y2 = scan.nextInt ();
        double distance;

        //Asking the user to insert coordinates of both points and setting double
        // on distance in order to properly calculate the square root

        distance = Math.sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
        System.out.print( "the length of the line between the points" (int x1, int x2) "and" (int y1, int y2) "is" distance);

       //Telling the program to calculate the distance of two points given by user
    }//end of method main

}

我正在尝试制作x1 x2 y1y2出现在里面,但是它不允许我 - 给出 Y(有点)预期......我该怎么做才能让它出现,不管它int是什么?(除了程序运行得很好,我认为..)谢谢

4

4 回答 4

6

尝试这个:

System.out.printf(
    "The length of the line between the points (%d, %d) and (%d, %d) is %f%n",
    x1, x2, y1, y2, distance);

对于这些情况,最简单的解决方案是使用格式化字符串,如上面的代码所示。请参阅文档中有关诸如字符串的语法的更多详细信息。

在上面的代码片段中,a 之后的每个字符都%表示该位置的相应参数(在字符串之后,按从左到右的顺序)必须进行相应的格式化。尤其是:

  • %d :这将是一个整数。前四个参数是intsx1, y1, x2, y2
  • %f :这将是一个十进制数。第五个参数是被double调用的distance
  • %n : 这将是一个特定于平台的换行符

printf方法负责用相应的参数值替换每个格式字符,String按预期创建和打印 a。这比将字符串部分与+运算符连接起来、散布所需的变量要容易得多且不易出错。

于 2012-11-27T19:34:42.643 回答
1

要打印组合的多个值,您可以使用加法运算符将值的字符串表示形式附加在一起。

System.out.print("here is a point(" + x1 + ", " + x2 + " )");
于 2012-11-27T19:34:50.480 回答
0

使用“+”连接您的字符串。

System.out.print("the length of the line between the points (int"
+ x1 + ", int " + x2 + ") and (int " + y1 + ", int " + y2 + ") is " + distance);
于 2012-11-27T19:35:23.660 回答
0

要将整数与字符串组合,您可以这样做:

x = 5;
y = 6;
System.out.println("This script exists to print the point ("+x+","+y+")");
于 2012-11-27T19:35:55.583 回答