2016-09-27 7 views
0

だから私はクラスのためにEclipseでjavaプロジェクトを作成する必要があります。 Assignmentは、ある整数が入力されるまで、ユーザーがプログラムに整数を入力できるようにするプログラムを作成することです(42)。整数(42)が入力されると、プログラムはとなります。入力したすべての数字の平均。 。入力された最小値と最大値を表示します。 。入力された合計数。そしてこれらは(42)を数えることなく計算しなければなりません。これは私がこれまで持っていたものです。私はユーザーからの入力を得ることができ、42に入るとプログラムは停止し、合計が表示されますが、42が含まれます。そして私はどのように私は入力のための "カウント"を追加することができないので、私は平均を与えるために合計から入力数を分割するだけでなく、入力された合計数を表示するためにカウントを使用することができますか分からない。私はどんな助けにも感謝します。和は0に設定されている場合条件が満たされるまで連続ループ

package assignment6; 

import java.util.Scanner; 

public class assignment6 { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     //Scanner 
     Scanner input = new Scanner(System.in); 

     //Enter integer 
     System.out.println("Enter a integer "); 
     int data = input.nextInt(); 

     //Accept integers until 42 is entered 
     int sum = 42; 
     while (data != 42) { 
      sum += data; 

      System.out.println("Enter another integer "); 
      data = input.nextInt(); 
     } 
     //Display sum of numbers entered 
     System.out.println("The sum of all numbers entered is: " + sum); 

     //Display Average of numbers entered 
     System.out.println("Average of all numbers entered is:" + (sum/)); 

    } 
} 
+1

質問はどこですか? – CodeChimp

答えて

1

以下のコードを確認してください。

package stackoverflow; 

import java.util.Scanner; 

public class LoopTest { 

public static void main(String[] args) 
{ 
    // TODO Auto-generated method stub 

    Scanner scanner = new Scanner(System.in); 
    System.out.println("Enter number"); 

    int input = 0; 
    double sum = 0; 
    double avg = 0; 
    int count = 0; 

    //Infinite Loop 
    while (true) 
    { 
     //Accept Number 
     input = scanner.nextInt(); 

     //Check Entered Number 
     if (input != 42) 
     { 
      sum = sum + input ; 
      count = count + 1; 
      avg = sum/count; 
     } 
     else 
      break; 
    } 

    System.out.println("Numbers Entered : " + count); 
    System.out.println("Sum of Numbers : " + sum); 
    System.out.println("Average of Numbers : " + avg); 
} 

} 
+0

に投稿する前にソリューションを実行してくださいこれは完全に動作します。私は入力した最小の数字と自分で入力した最大の数字を表示する方法を理解することができます。私は助けを感謝します – Drewmann

+0

int min = 0; \t \t int max = 0; ブロックをif ---- if(input!= 42) \t \t \t { \t \t \t \t IF(入力<分||分== 0) \t \t \t \t \t分=入力。 \t \t \t \t(入力> MAX) \t \t \t \t \t最大=入力する場合、 \t \t \t \t array [count] = input; \t \t \t \t sum = sum + input; \t \t \t \t count = count + 1; \t \t \t \t avg = sum/count; \t \t \t}最小値と最大値を表示する –

0

、あなたは、また、42

カウント永遠ループにwhile(true)を使用し、break;は、ループを終了することができます。ブレークなステートメントの後に何もまあ、カウントを追加するので、

int count = 1; 
while(true) { 
    sum += data; 

    System.out.println("Enter another integer "); 
    data = input.nextInt(); 
    count++; 
    if(data == 42) { 
     break; 
    } 
} 
+0

私はそれをeclipseに入力し、実行して "10" "10" "10"と "42"を入力すると、プログラムは次のステップ(合計、平均など)に行きません。合計が30で、平均が10になるのは3で除算されますが、代わりに "72 sum"と "18 average"が得られます。これは理にかなっていますか? – Drewmann

+0

あなたは30 + 42のように72を得ています。したがって、毎回42を差し引くと、あなたの希望する合計と平均が得られます。これは「本当の」解決策ではなく、あなたが検討したいかもしれない提案です! :D –

-1

あなたがしなければならないだろうすべては例えば、変数

int count = 0; 

を行い、その後、ちょうどそれをするたびに1を追加され、実行されませんループリピート

+4

"Int"はあなたのために正常にコンパイルされましたか? – mhasan

+0

@mhasanどういう意味ですか? – KobiF

+0

あなたはJavaコンパイラが大文字と小文字を区別していることに気付きたいと思います。 – mhasan

関連する問題