2014-10-22 4 views
0

У меня были проблемы с программой, где я предполагаю, что пользователь может ввести любое количество чисел в программу, пока они больше не захотят. Затем программа должна вычислять среднее и максимальное числа введенных чисел. Где я неправ?Пропуск во время выписки

import java.util.Scanner; 
public class DataSet 
{ 
    //Instance Variables 
    private double newValue; 
    private double sum; 
    private int count; 
    Scanner scan = new Scanner(System.in); 


    //Constructors 
    public DataSet() 
    { 
     double newValue = 0; 
     double sum = 0; 
     int count = 0; 
    } 

    public void run() 
    { 
    } 

    public double getaddValueToSet() 
    { 
     System.out.println("Please enter a number"); 
     newValue = scan.nextDouble(); 
     count += 1; 
     return newValue; 
    } 

    public double getSum() 
    { 
     sum += newValue; 
     return sum; 
    } 

    public double getAverage() 
    { 
     double average; 
     average = sum/count; 
     return average; 
    } 

    public double getMaximum() 
    { 
     double max=newValue; 
     if(newValue >= max) 
     { 
     max = newValue; 
     } 
     return max; 
    } 

    public String toString() 
    { 
     String str; 
     str = "Average: " + getAverage() + "\n" + 
     "Maximum: " + getMaximum(); 
     return str; 
    } 
} 


import java.util.Scanner; 

public class DataSetRunner 
{ 
    public static void main(String [] args) 
    { 
     String answer = "yes"; 
     Scanner scan = new Scanner(System.in); 


    { 
     System.out.println("Do you want to enter another number?"); 
     answer = scan.next(); 
    } 

    while(answer.equals("yes")) 
    { 
     DataSet d1 = new DataSet(); 
     double sum, number; 


     d1.run(); 
     number = d1.getaddValueToSet(); 
     sum = d1.getSum(); 
     answer = scan.nextLine(); 

     System.out.println(d1); 
    } 

} 

} 
+1

Ну, что ваша программа должна делать? Что это на самом деле? Какие ошибки (если есть) вы получаете, когда пытаетесь запустить его? – azurefrog

+0

В вашем коде есть много проблем. –

+1

Назовите код, затем вырвайтесь из него. – NightSkyCode

ответ

1
DataSet d1 = new DataSet(); 
    do { 
     System.out.println("Do you want to enter another number?"); 
     answer = scan.next(); 
     if (answer.equalsIgnoreCase("YES")) { 
      double sum, number; 
      d1.run(); 
      number = d1.getaddValueToSet(); 
      sum = d1.getSum(); 
      answer = scan.nextLine(); 
      System.out.println(d1); 
     } else { 
      break; 
     } 
    } while (true); 
+0

Большое спасибо. Я получил его на работу, просто пришлось переместить S.O.P (d1) за время, так что он не будет печатать каждый раз. – user3657449

Смежные вопросы