2011-08-21 16 views
0
/* 
* Application the reads an integer and prints sum of all even integers between two and input value 
*/ 

import java.util.Scanner; 

public class evenNumbers{ 

    public static void main(String [] args){ 
    int number; 
    Scanner scan = new Scanner(System.in); 
    System.out.println("Enter an Integer greater than 1:"); 
    number = scan.nextInt(); 
    printNumber(number); 
    }// end main 


    /*declares an int variable called number and displays it on the screen*/ 
    public static void printNumber(int number){ 
    if (number < 2){ 
     System.out.println("Input value must not be less than 2"); 
    } 
    int sum = 2; 
    if(number % 2==0){ 
     sum+= number; 
    } 
    System.out.println("Sum of even numbers between 2 and " + number + " inclusive is: " + sum); 

    }//end printnumber 
} 

2の合計を入力数に含めて計算する必要がありますが、最後の数値だけを取り、2を加算するだけです。誰かがこの問題を解決するのを手伝ってください。入力値に2を加える必要があります

+0

は私がのためのようなものを追加する必要があります(int型の数= 2;数++)? –

+1

はい - あなたは間違いなくここでforループが必要です。それは宿題問題のように見えるので、目的に応じた答えを出さないでください:) – CoolBeans

+0

ありがとうございました。それを試してみてください。 –

答えて

2

ループが必要です。あなたのコメントは正しい方向を示唆していますが、 'for'ループを正しく書く方法については、Javaチュートリアルを参照してください。初期宣言、終了条件、ループステップの3つの部分があります。 ++演算子は変数に1つだけ追加することを忘れないでください。 + =を使用して他の値を追加できます。 + =を使用してループ変数に別の値(2など)を追加する場合は、偶数の 'if'テストをスキップできます。 < =と> =比較演算子(プリミティブの場合)を使用して境界をテストできます。だから、(ないジャワ、擬似コードで)このような何かをしたい:

input the test value 
Optional: reject invalid test value and **exit with message if it is not valid!** 
initialize the sum variable to zero 
for (intialize loop variable to 2; test that loop var <= test value; add 2 to loop var) 
{ 
    add 'number' to the sum variable 
} 
display the sum 
+0

ありがとうございました int sum = 0; for(int current = 2; current <= number; current + = 2){ sum + = current; } System.out.println( "2と" + number + "の間の偶数の和は" + sum "です。 1以上の整数を入力します: [DrJava入力ボックス] 2と7までの間の偶数の 和である:魅力のような12点の 作品 } //エンドprintnumber はこれを手に入れました –

1
int sum = 0; 
for (int current = 2; current <= number; current += 2) 
    sum += current; 
関連する問題