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
# 1 楼答案
你用错了
System.out.printf
方法。你的方法应该像这样使用它:或者更好的是,你可以将点作为整数处理
了解og
System.out.printf
用法的更多信息:Format String Syntax# 2 楼答案
以下内容似乎对我有用
系统。出来printf(“点,('%1.1f','%1.1f')在矩形中,”(双)x,(双)y)