int 배열을 가져 와서 숫자의 제곱근이 배열에 있는지 확인합니다. 예이면 yes를 인쇄합니다. else 아니오를 인쇄합니다. 내 코드가 항상 반환되는 이유를 알 수 없습니다. 예를 들어정수 배열 요소의 제곱근 계산시 Arrays.asList 문제
내 입력 인 경우 : 1 4 0 2 16 3
내 출력 될 것입니다 : 예 아니오 예 예 예 아니오
이 내 코드입니다 :
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");
}
}
}
}
코드에서만 말할 수는 없습니다. 어쩌면 ... int 대신 Integer를 사용해보십시오. 리스트는 프리미티브가 아닌 오브젝트에서 더 잘 작동합니다. – Dalton
@CoolGuy이 질문에 대한 답은 나오지 않습니다. 왜냐하면 그는 원래 번호의 배열 전체를 확인하기를 원하기 때문입니다. –
정수 [] int 대신 int [] intlist – Leo