2017-12-07 14 views
1

このプログラムでは、配列リストに入力する数字を入力するように求められます。ユーザが0を入力すると、プログラムは入力された前の数字のすべてを合計し、それらの平均をとる。それは私のために働いていないので、どうすればこの仕事をすることができますか?あなたがループ内で読む必要が私はユーザーがArrayListに数値を入力させようとしています。ユーザーが0を入力した場合、合計と合計の数値

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

public class Calculation { 
    static Toolkit tools = new Toolkit(); 
    public static void main(String [] args) { 
     double average = 0.0; 
     double sum = 0; 
     int i =0; 
     int num = 0; 
     int nElements = 0; 
     Scanner console = new Scanner(System.in); 

     ArrayList<Integer> value = new ArrayList<Integer>(); 
     System.out.println("Enter value: "); 
     num = console.nextInt(); 
     while(num != 0) { 
      value.add(new Integer(num)); 
     } 

     for(i = 0; i < value.size(); i++) { 
      sum += value.size(); 
     } 
     average = sum/value.size(); 
     System.out.println("Number of values read: " + value.size()); 
     System.out.println("Values sum: " + sum + "Values average: " + average); 
     System.exit(0); 
    } 
} 
+0

を;'、それはあなたのために、新しい値を入力するユーザーのために不可能ということはありませんそれらを促す – MadProgrammer

答えて

1

は、ここにあなたが持っている: `NUM = console.nextInt()の後

public static void main(String [] args) { 
    double average = 0.0; 
    double sum = 0; 
    int i =0; 
    int num = 0; 
    int nElements = 0; 
    Scanner console = new Scanner(System.in); 

    ArrayList<Integer> value = new ArrayList<Integer>(); 

    System.out.println("Enter value: "); 
    num = console.nextInt(); 

    while(num != 0) { 
     value.add(new Integer(num)); 
     num = console.nextInt(); 
    } 

    for(i = 0; i < value.size(); i++) { 
     sum += value.get(i); 
    } 
    average = sum/value.size(); 
    System.out.println("Number of values read: " + value.size()); 
    System.out.println("Values sum: " + sum + " Values average: " + average); 
    System.exit(0); 
} 
関連する問題