2016-02-08 36 views
0

我需要幫助製作循環,查看從1到1的每個值。 另外如何測試每個值以查看它是否是 數字的除數,如果是,則將其加到總和中。製作循環以測試值

這是我到目前爲止有:

public static void main(String[] args) { 
    Scanner input = new Scanner (System.in); 

    System.out.print("Please enter a positive integer: "); 
    int n = input.nextInt(); 

    while (n < 0) { 
    System.out.println(n + " is not positive."); 
    System.out.print("Please enter a positive integer: "); 
    n = input.nextInt(); 
    } 
} 
+0

如果'n'是一個正數,那麼你的循環將永遠運行。您需要一個從1開始的運行索引和一個在小於'n'時運行的循環。你瞭解循環嗎?你一定看過例子。 – user1803551

回答

0

您可以使用此作爲起始塊爲您的應用程序:

package Testers; 

import java.io.Console; 

public class Application { 

    public static void main(String[] args) 
    { 
     Console console = System.console(); 
     if (console == null) 
     { 
      System.err.println("No console."); 
      System.exit(1); 
     } 

     boolean keepRunning = true; 
     while (keepRunning) 
     {  
      String name = console.readLine("Type your positive integer"); 
      try{ 
      int integer = Integer.parseInt(name); 
      if(integer < 0){ 
       System.out.println("You must specify a positive integer!"); 
      } 
      for(int i = 1; i<integer; i++){ 
       // our variable "i" is smaller than "integer". This will parse all the numbers between one and "integer" -1. 
       if(i % 2 == 0){ 
        //"i" IS divisible by 2. Of course, you can change this value to what you want to change it to. 
        //Here you can add it to a sum 
       }else{ 
       //"i" is not divisible by 2. Of course, you can change this value to what you want to change it to. 
       } 
      } 
      }catch(NumberFormatException e){ 
       System.out.println("You must specify a positive integer!"); 
      } 
     } 
    } 

} 
+0

(1)使用'Scanner'而不是'Console',因爲它可能不可用。 (2)當它可以直接分配給'i'時,不需要'int one = 1'。 (3)正確設置代碼格式。 – user1803551

+1

修改了縮進並刪除了「one」變量。我從來沒有使用'Console'而不是'Scanner'出現問題,我不願意改變這種情況。感謝您的幫助! – JD9999

0

如果您想爲已知的次數做些什麼,使用for循環是個不錯的主意。如果你想要做的東西數量1n-1,循環可能看起來像

for(int i = 1; i < n; i++) { // do stuff } 

注意,它開始從1計數,並儘快停止爲i大於或大於等於n

爲了知道一個數字,是否說n,是由一些數整除,說k,模運營商%都可以使用。如果n % k == 0這意味着n可以被k整除。使用if -statement可以測試此變量,並且當您有一些sum變量時,您可以將任何想要的變量添加到該變量中進行總結。

希望有幫助