【发布时间】:2014-11-11 13:35:02
【问题描述】:
我正在尝试编写一个获取整数数组的代码,并检查数字的平方根是否在数组中,如果是,它将打印是,否则将打印否。 我不明白为什么我的代码总是返回 no。
例如,如果我的输入是:1 4 0 2 16 3
我的输出是:yes yes yes no yes no
这是我的代码:
import java.util.Arrays;
public class Assignment02Q04 {
public static void main(String[] args) {
int[] intlist = new int[args.length];
for (int i=0; i < args.length; i++) {
intlist[i] = Integer.parseInt(args[i]);
}
for (int number : intlist) {
int sqrt = (int)(Math.sqrt(number));
System.out.println(sqrt);
if (Arrays.asList(intlist).contains(sqrt)) {
System.out.println("yes");
} else {
System.out.println("no");
}
}
}
}
【问题讨论】:
-
不能只从代码上说。也许...尝试使用整数而不是整数。列表更适用于对象而不是基元。
-
@CoolGuy 这没有回答问题,因为他想检查整个原始数组中的那个数字。
-
Integer[] intlist 而不是 int[] intlist
-
@MuhammadHijazi ,哎呀!你是对的。
标签: java arrays list square-root