我一直在这里搜索,似乎无法找到可以帮助我修复代码的内容。
当用户输入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
答案 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);