0

私はここを検索してきましたが、コードを修正するのに役立つものを見つけることができないようです.

ユーザーが 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
4

2 に答える 2

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

于 2013-02-02T22:11:57.333 に答える
0

以下は私のために働くようです。

System.out.printf("Point , ('%1.1f', '%1.1f') は長方形の中にあります", (double) x, (double) y);

于 2013-02-02T22:21:18.853 に答える