有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java系统。出来带十进制坐标和多个文本的printf

我一直在这里搜索,似乎找不到什么可以帮助我修复代码

当用户输入2和2时,我试图让输出弹簧(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) 个答案

  1. # 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);
    

    了解ogSystem.out.printf用法的更多信息:Format String Syntax

  2. # 2 楼答案

    以下内容似乎对我有用

    系统。出来printf(“点,('%1.1f','%1.1f')在矩形中,”(双)x,(双)y)