2015-09-10 98 views
0

我希望我的程序能夠接受用戶編號輸入,並輸出從1到輸入編號(使用while循環)的總和。 示例:如果輸入值爲4,則總和爲10即1 + 2 + 3 + 4.使用While循環編寫程序

我的代碼編譯但返回一個永不結束的1,直到我的jcreator停止響應。

import java.util.Scanner; 
import java.io.*; 

    public class SumLoopWhile { 

    public static void main(String[] args) { 
    int number; 
    int sum = 1; 
    Scanner in = new Scanner (System.in); 
    System.out.println("Enter number: "); 
    number = in.nextInt(); 

    while (sum <= 10) { 
     System.out.println("Sum is: " + sum); 
     number++; 
     } 
    } 
} 
+1

你在'while'循環中根本不會改變'sum'的值。你現在擁有它的方式,這是一個無限循環。 – UnknownOctopus

+0

請問我該怎麼做? @UnknownOctopus –

+0

爲什麼你在做'while(sum <= 10)'?這對我來說毫無意義。 – poss

回答

1

你應該比較值的number這是輸入,並增加了sum。最後,在循環後顯示結果。類似於

public static void main(String[] args) { 
    Scanner in = new Scanner(System.in); 
    System.out.println("Enter number: "); 
    int number = in.nextInt(); 
    int sum = 0; 
    int v = 0; 
    while (v <= number) { 
     sum += v; 
     v++; 
    } 
    System.out.println("Sum is: " + sum); 
} 

當輸入爲4(根據要求)時,將打印Sum is: 10

0

我猜你想什麼它是修改sumwhile循環內。像這樣做:

while (sum <= 10) { 
    sum = sum + number; 
    number++; 
    } 
} 

System.out.println("Sum is: " + sum); 

你必須把它在每次迭代計算的System.out.println圈外的,因爲你要打印的總價值,而不是每個總和。

此外,當你想初始化一些int這將是一個「總」變量(比如sum,rest或者其他結果)時,應該很好,將它初始化爲零。

int sum = 0; 
+0

它正在工作,但當我輸入4時,輸出應該是10即1 + 2 + 3 + 4 @ Error404 –

0

System.out.println不應該放置在while循環中,因爲它會被執行多次的loop.If要打印的總和值只有一次,那麼該語句System.out.println必須放在環形塊外。

只需使用另一個變量,用來計數iterations.For例如

while(count<=number) 
{ 
    sum=sum+count; 
    count++ 
} 
System.out.println("Sum is: "+ sum); 
0

你的輸出變量總和爲整個program.it相同的值沒有得到altered.the while循環變得無限循環

的條件 (總和< = 10)從不變爲真和while循環將用於運行無限次

0
import javax.swing.JOptionPane; 

public class SumUsingWhileLoop { 

    public static void main(String[] args) { 
     String input; 
     input = JOptionPane.showInputDialog("Input the number:"); 
     int number; 
     number = Integer.parseInt(input); 
     int sum = 0; 
     int i = 1; 
     while (i <= number) { 
      sum += i; 
      i++; 
     } 

     JOptionPane.showMessageDialog(null, "Sum = " + sum); 
     System.exit(0); 
    } 

}