【发布时间】:2019-11-23 02:35:21
【问题描述】:
我想编写一个程序来获取数字输入并找到最接近的完美正方形来确定正方形长度。因此,最接近的完美平方必须小于输入。比如输入8,正方形的最大边长是2。问题是程序会要求我输入一个数字,但之后没有输出任何东西。它还说我有一个重复的局部变量 a1。
import java.util.Scanner;
public class J1 {
public static void main(String[] args) {
int a;
int a1;
Scanner number = new Scanner(System.in);
System.out.println("Number: ");
a = number.nextInt();
int n = (int) Math.sqrt(a1);
/* remove int from a1 */
for ( int a1=a; a1<a; a1--) {
if (Math.floor(a1)==0)
System.out.println("The largest square has side length" + a1);
}
}
}
【问题讨论】:
-
您已经告诉我们您想要做什么,但没有告诉我们您的代码尝试遇到了什么问题。您在问题标题中提到了第 13 行,但不要在代码中标注这是哪一行。请编辑您的问题,以更清楚地说明问题所在,以便您有更好的机会帮助您。
-
您应该非常仔细查看
for (int a1=a; a1<a; a1--)中的循环条件 - 您的循环永远不会进入。 -
我已经澄清了我的问题
-
你能澄清一下@ElliottFrisch 的意思吗
-
你给变量 n 赋值,但从不使用它。那是你的意思吗?
标签: java for-loop perfect-square