2016-10-15 45 views
1

嘿StackOverflow社區。在開始和結束之間添加數字,並找到總和的其餘部分

我的家庭作業有問題,因此不期望你們能夠爲我解決這個問題,但是我現在一直在爲這個問題奮鬥了5天,我真的不知道我在做什麼做錯了。我們的目的是在開始和結束之間添加所有數字,並將該和除以給定的除數,如果此除法的結果爲0,則程序應使用System.out.println()作爲真假,如果不是則假。

我知道這是一個非常簡單的問題,但它是我的第二週,所以我不太熟悉所有Java功能。這是我得到的,但它根本不給我任何答案。如果你能指出我出錯的地方,我會很感激。提前謝謝你!

public class EX6 { 

public static void main(String[]args) { 
    { 
    } 
    int divisor = 14; 
    int start = 42; 
    int end = 678; 
    int sum = 0; 
    int i; 
    i= 42; 
    while (i<=end) sum= start +start++; i++; 
    if (sum % divisor == 0) {System.out.println(true); 
    } else{ 
    System.out.println(false); 
} }} 

回答

1

第一,而不是sum = start + start++我想你想sum = sum + start++。你想增加一個運行總數,而不是設置sum等於start + start + 1

二,println需要傳遞一個字符串("true",而不是true)。

此外,它不完全是一個錯誤,但不需要變量i。如果你認爲通過它,i總是等於start,所以你可以參考start而不是i

public class EX6 { 

    public static void main(String[]args) { 
     int divisor = 14; 
     int start = 42; 
     int end = 678; 
     int sum = 0; 

     while (start <= end) { 
      sum = sum + start++; 
     } 

     if (sum % divisor == 0) { 
      System.out.println("true"); 
     } else{ 
      System.out.println("false"); 
     } 
    } 
} 

有關您的原始代碼的小記事:在您要在循環中執行的代碼周圍放置括號總是一個好習慣。例如,在您的代碼中,while (i<=end) sum= start +start++; i++;,i++不是循環的一部分,因爲沒有括號。所以這個問題可能會永遠持續下去。爲了解決這個問題,你的語句將只使用:

while (condition) { 
    //statement 1 
    //statement 2 
    //statement 3 
} 
0

以下是你需要做的:

int divisor = 14; 
int start = 42; 
int end = 678; 
int sum = 0; 
int i; 
while (start<=end){ 
sum+=start; 
start = start++; 
} 
if (sum % divisor == 0) { 
    System.out.println(true); 
} else{ 
    System.out.println(false); 
} 
+0

這是不對的。它在循環的每次迭代中設置sum = start + start。所以最後總和將是678 + 678.不是正確的答案。 – nhouser9

+0

道歉,我的錯字錯誤...我將改爲Sum + = start; –

相關問題