此Java程序是否需要是两个单独的文件

时间:2015-05-14 00:09:56

标签: java

大家好,我正在学习Java课程,这是我第一次涉及面向对象编程的任务。我遇到SimpleCalc部分的问题,我想知道我的工作应该是两个单独的文件,还是我错过了一个允许StatCalc部分和SimpleCalc部分相互交谈的组件。请记住,我是Java的新手,所以我可能需要更多的拼写,然后我有时会在堆栈上看到过流,但是,我会感激任何帮助,所以提前谢谢你。这是我的代码:

package tutorial; 
/*   
* An object of class StatCalc can be used to compute several simple statistics  
* for a set of numbers.  Numbers are entered into the dataset using  
* the enter(double) method.  Methods are provided to return the following  
* statistics for the set of numbers that have been entered: The number  
* of items, the sum of the items, the average, the standard deviation,  
* the maximum, and the minimum.  
*/ public class StatCalc {

           private int count;   // Number of numbers that have been entered.
           private double sum;  // The sum of all the items that have been entered.
           private double squareSum;  // The sum of the squares of all the items.        
           private double max = Double.NEGATIVE_INFINITY;                               private double min = Double.POSITIVE_INFINITY;
           /**
            * Add a number to the dataset.  The statistics will be computed for all
            * the numbers that have been added to the dataset using this method.
            */
           public void enter(double num) {
                  count++;
                  sum += num;
                  squareSum += num*num;               
                  if (count == 1){
                      max = num;
                      min = num;
                  }
                  else {
                      if (num > max)
                          max = num;
                      if (num < min)
                          min = num;
                  }     
           }
           /**

            * Return the number of items that have been entered into the dataset.

            */

           public int getCount() {

                  return count;
           }
           /**

            * Return the sum of all the numbers that have been entered.

            */

           public double getSum() {

                  return sum;
           }         
           /**

            * Return the average of all the items that have been entered.

            * The return value is Double.NaN if no numbers have been entered.

           */

           public double getMean() {

                  return sum / count;
           }     

           /**

            * Return the standard deviation of all the items that have been entered.

            * The return value is Double.NaN if no numbers have been entered.

            */

           public double getStandardDeviation() {

                  double mean = getMean();

                  return Math.sqrt( squareSum/count - mean*mean );
           }

           public double getMin(){
               return min;
           }
           public double getMax(){
               return max;
           }        }// end class StatCalc

public class SimpleCalc {
    public static void main(String[]args){
        Scanner in = new Scanner(System.in);
        SimpleCalc calc;
        calc = new SimpleCalc();

        double item;
        System.out.println("Enter numbers here. Enter 0 to stop.");       
        System.out.println();

        do{ 
            System.out.print("? ");
            item = in.nextDouble();

            if (item != 0)
                calc.enter(item);
        }while (item != 0);

        System.out.println("\nStatistics about your calc:\n");   
        System.out.println(Count: "+calc.getCount"()); 
        System.out.println(Sum: "+calc.getSum"());   
        System.out.println("Minimum: "+calc.getMin());  
        System.out.println("Maximum: "+calc.getMax());  
        System.out.println("Average: "+calc.getMean());     
        System.out.println("Standard Deviation: "+calc.getStandardDeviation());     
    }// end main
}//end SimpleCalc

2 个答案:

答案 0 :(得分:1)

在Java中,公共类必须位于与该类同名的文件中。因此,由于您有一个名为StatCalc的公共类,因此文件名必须为StatCalc.java。类似地,第二个类也是公共的,因此它必须在它自己的文件中。

答案 1 :(得分:0)

是的,它需要两个文件。

Java的合同是每个&#34;顶级&#34;公共课需要它自己的文件。