2015-10-10 43 views
1

一旦我运行我的程序,它可以工作,但是在输入我的第一个整数后,它停止返回布尔值并将我的输入读回给我。我希望它读取多个整数并告诉我它们是否是素数,我该如何做?如何避免10次运行我的程序10次?

import java.util.Scanner; 
    public class PrimeCalculator{ 
     public static boolean IsPrimeNumber(int Number){ //Tells me if it's a prime number 
     int Num = Number; 
     int x = 0; 
     for (int i=0;i<=Num;i++){ 
     if(Num%(i+1)==0){ 
      x++; 
     } 
     } 
     Boolean TwoFactors = (x==2); 
     return TwoFactors; 
     } 
     public static void main(String[] args){   // this prints out true/false depending on input 
     System.out.println("Enter a number"); 
     Scanner Reader = new Scanner(System.in); 
     int IntRead = Reader.nextInt(); 
      System.out.println(IsPrimeNumber(IntRead)); 
     } 
    } 
+1

又是什么问题,请使用循环? – silentprogrammer

+0

我输入7,它告诉我这是一个总理。如果我输入另一个整数,它只是读回给我 – Jacob

+0

你必须读取整数,并将它传递给你的函数一次又一次使用循环放置循环内的最后2条件 – silentprogrammer

回答

2

你应该使用do-while循环

int counter = 0; 

    do 
    { 
     counter++; 

     int IntRead = Reader.nextInt(); 
     System.out.println(IsPrimeNumber(IntRead)); 
    } 
    while(counter < 10); 

或for循环版本:

for(int i = 0; i < 10; i++) 
    { 
     int IntRead = Reader.nextInt(); 
     System.out.println(IsPrimeNumber(IntRead)); 
    } 
主要方法

+0

非常感谢:) – Jacob

相关问题