【发布时间】:2014-02-23 18:05:27
【问题描述】:
在下面的代码中,如果我放置一个 if 语句告诉它递增 if,为什么它不起作用 “根
do {
++root;
if ((number / root) == root) {
System.out.printf("\nThe square root of %.0f is %.0f.\n", number, root);
root = 101;
} else if (root == 101) {
System.out.printf(
"The number %.0f does not have a square root.\n", number);
}
} while (root < 101);
像这样:
do {
if ((number / root) == root) {
System.out.printf("\nThe square root of %.0f is %.0f.\n", number, root);
root = 101;
} else if (root < 101) {
++root;
} else {
System.out.printf(
"The number %.0f does not have a square root.\n", number);
}
} while (root < 101);
【问题讨论】:
-
您期望什么行为,您实际观察到什么?
-
首先,请不要说
System.out没有printf方法。将其更改为println。 -
@rciovati:是的,有一个
System.out.printf方法。你在说什么? -
System.out.printf for java 是有效的,我一直用它上课。我将它们都设置为双精度,我使用双精度,因为整数会自动舍入。
-
哦,我不应该相信我的记忆,下次请仔细检查 javadoc,对不起。
标签: java if-statement increment do-while