跳过while语句

时间:2014-10-22 02:14:04

标签: java while-loop do-while

我在程序方面遇到了一些麻烦,我想让用户在程序中输入任意数量的数字,直到他们不再需要为止。然后程序应该计算出的数字的平均值和最大值。我哪里做错了?

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 个答案:

答案 0 :(得分: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);