사용자가 선택한 양의 숫자를 입력 할 수있는 프로그램을 만들려고하고 있으며 그 대가로 사용자는 두 개의 목록을 얻습니다. 하나는 숫자 중 소수가 소수임을, 다른 하나는 비 소수를 나타냅니다. 왜이 기능이 작동하지 않습니까? 같은 배열의 모든 숫자를 다른 배열로 가져 오게되면 끝납니다. isPrime 메서드에서 isPrime을 true로 초기화 할 때 모든 숫자는 프라임 배열로 이동하고 false로 초기화하면 notPrime 배열로 이동합니다.소수 번호 방법이 작동하지 않습니다.
public static void main(String[] args) {
System.out.println("How many numbers do you want to input?");
Scanner in = new Scanner(System.in);
int number = in.nextInt();
int[] values = new int[number];
for(int i = 0; i < values.length; i++) {
System.out.println("Give value number " + (i+1) + ":");
values[i] = in.nextInt();
}
int[] prime = new int[values.length];
int[] notPrime = new int[values.length];
for(int i = 0; i < values.length; i++) {
boolean erPrimtall = erPrimtall(values[i]);
if(isPrime == true) {
prime[i] = values[i];
} else {
notPrime[i] = values[i];
}
}
System.out.println("Prime numbers:");
for(int i = 0; i < values.length; i++){
System.out.println(prime[i]);
}
System.out.println("Other numbers:");
for(int i = 0; i < values.length; i++){
System.out.println(notPrime[i]);
}
}
inn.close();
}
static boolean isPrimtall(int values) {
boolean isPrime = true;
for(int i = 2; i < Math.sqrt(values); i++) {
if(values % i == 0) {
isPrime= false;
break;
}
}
return isPrime;
}
"작동하지 않는다"는 의미를 설명하고 지금까지 문제를 해결하기 위해 수행 한 작업을 알려주십시오. 이 사이트를 효과적으로 사용하는 방법을 배우려면 [help]를 방문하여 [ask]를 읽으십시오. –
코드에 오타가 있습니다. 'verdier'가 정의되지 않았습니다. 값은'values'이어야합니다. – LKHO