System.out.printf,带小数点坐标和多个文本

时间:2013-02-02 22:08:03

标签: java printf

我一直在这里搜索,似乎无法找到可以帮助我修复代码的内容。

当用户输入2和2时,我试图输出pring(2.0,2.0)。我注释掉了我需要帮助的代码。我想用printf来得到我的结果。除了错误,我什么都没得到 我的假设是问题在于我必须在文本之间打印(2.0,2.0),但是我无法解决我的错误。

import java.util.Scanner;

public class prtest {

    // checks to see if radom point entered by user is within rectangle
    // rectangle is centered at (0,0) and has a width of 10 and height of 5

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        System.out.print("Enter a point with two coordinates: ");
        int x = input.nextInt();
        int y = input.nextInt();

        double hDistance = Math.pow(x * x, 0.5f);// heigth distance

        double vDistance = Math.pow(y * y, 0.5f);// vertical distance

        if ((hDistance <= 10 / 2) && (vDistance <= 5.0 / 2))

            System.out
                    .print("Point (" + x + ", " + y + ") is in the rectangle");

        // System.out.printf("Point ( %1f", ", " + y + ") is in the rectangle");

        else
            System.out.print("Point (" + x + ", " + y
                    + ") is not in the rectangle");

        // System.out.printf("Point ( %1f", ", " + y +
        // ") is not in the rectangle");

    }// end main
}// end prtest

2 个答案:

答案 0 :(得分:1)

你以错误的方式使用System.out.printf方法。您的方法应该像这样使用它:

System.out.printf("Point (%.1f, %.1f) is in the rectangle", x*1.0, y*1.0);
//...
System.out.printf("Point (%.1f, %.1f) is not in the rectangle", x*1.0, y*1.0);

甚至更好,您可以将整数作为整数来处理

System.out.printf("Point (%d, %d) is in the rectangle", x, y);
//...
System.out.printf("Point (%d, %d) is not in the rectangle", x, y);

了解使用情况og System.out.printf的更多信息:Format String Syntax

答案 1 :(得分:0)

以下似乎对我有用。

System.out.printf(“Point,('%1.1f','%1.1f')位于矩形”,(double)x,(double)y);