나는 PrimeSieve의 arraylist 구현 작업 중이며 모든 코드를 작성했지만 실행되지 않는 것 같아서 루프가 좋지 않거나 스캐너를 잘못 설정했기 때문에 확실하지 않습니다.스캐너가 작동하지 않습니다 - Prime Sieve. 코드가 완료되었습니다
다음은 코드입니다.
import java.util.Scanner;
import java.util.ArrayList;
public class PrimeSieve {
public static void main(String[] args)
{
int inputNum;
Scanner SL = new Scanner(System.in);
System.out.print("Pick a number to count up from:");
inputNum = SL.nextInt();
ArrayList<Boolean> BL = findPrime(inputNum);
System.out.println("The prime numbers found:");
for(int i = 0; i < inputNum; i++)
{
if(BL.get(i) == true)
{
System.out.println(i + ", ");
}
}
}
public static ArrayList<Boolean> findPrime(int maxNum)
{
ArrayList<Boolean> BL = new ArrayList<Boolean>();
//Filling in the list.
for(int i = 0; i < maxNum; i++)
{
BL.add(true);
}
for(int i = 0; i * i <(maxNum); i++)
{
if(BL.get(i) == true)
{
for(int k = i*2; k < maxNum; k = k + i)
{
BL.set(i, false);
}
}
}
return BL;
}
}
숫자를 입력하고 Enter 키를 누르면 아무 것도 작동하지 않습니다. 내 가정은 프로그램이 끊임없이 어딘가에 반복되고 그것이 깨져 있어야한다는 것입니다.
문제가 정확히 무엇입니까? 컴파일 오류? 예외? 그냥 아무 일도 일어나지 않아? 잘못된 결과 ...? – amit
아무 것도 입력하지 않으셨습니까? (** 및 ** hit ENTER)? 당신이 예제 입출력을 제공하지 않았기 때문에 나는 이것을 묻고있다. – skiwi
일부 System.out.println() 호출을 루프에 추가하여 루프가 실행되는지 확인하십시오. 또는 디버거를 사용하십시오. –