Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试将一个类文件合并为一个java文件_Java - Fatal编程技术网

尝试将一个类文件合并为一个java文件

尝试将一个类文件合并为一个java文件,java,Java,我试图避免使用两个文件,而是将其合并成一个文件 所以我在一个.java文件中创建了一个类,如下所示: import javax.swing.JOptionPane; public class Raindrop { double [] rainfallStats; public double getTotalRainfall() { double totalRainfall; for ( int index = 0; index < r

我试图避免使用两个文件,而是将其合并成一个文件

所以我在一个.java文件中创建了一个类,如下所示:

import javax.swing.JOptionPane;

public class Raindrop {

    double [] rainfallStats;

    public double getTotalRainfall() {
        double totalRainfall;

        for ( int index = 0; index < rainfallStats.length; index++) {
            totalRainfall = totalRainfall + rainfallStats[ index ];
        }
        return totalRainfall;
    }

    public double getAverageRainfall() {
        return getTotalRainfall() / rainfallStats.length;
    }

    public double getMostRainMonth () {
        double mostRain = rainfallStats [ 0 ];
        int mostRainMonth;

        for( int index = 0; index < rainfallStats.length; index++ ) {
            if ( rainfallStats[ index ] > mostRain ) {
                mostRain = rainfallStats [ index ];
                mostRainMonth = index + 1;
            }
        }
        return mostRainMonth;
    }

    public double getLeastRainMonth () {
       double leastRain = rainfallStats [ 0 ];
       int leastRainMonth;

       for( int index = 0; index < rainfallStats.length; index++ ) {
           if ( rainfallStats[ index ] > leastRain ) {
               leastRain = rainfallStats [ index ];
               leastRainMonth = index + 1;
           }
       }
       return leastRainMonth;
    }

    public Rainfall ( double [] rainfallStatsGiven) {
        rainfallStats = new double [ rainfallStatsGiven.length ];
        for (int index = 0; index < rainfallStatsGiven; index++) {
            rainfallStats[ index ] = rainfallStatsGiven [ index ];
        }
    }


    public static void fillArrayWithUserInput ( double [] arrayGiven ) {
        String userInputString;
        double userMonthlyRainfallFigure;

        for ( int index = 0; index < arrayGiven.length; index++ ){
            userInputString = JOptionPane.showInputDialog(
                    "Please enter rainfall figures for month " + (index + 1) );
            userMonthlyRainfallFigure = Double.parseDouble( userInputString );
            arrayGiven [ index ] = userMonthlyRainfallFigure;
        }
    }

    public static void main(String[] args) {

        final int MONTH_IN_A_YEAR = 12;
        double [] rainfallStats = new double [12];
        String userOutputString;

        fillArrayWithUserInput( rainfallStats );

        Rainfall rainfallData = new Rainfall( rainfallStats );

        userOutputString = String.format ( 
                "Total rainfall: %f\nAverage monthly rainfall" + ":" 
                        + "%f\nMonth with most rain: %f\nMonth with least rain: %f", 
                                rainfallData.getTotalRainfall(),
                                rainfallData.getAverageRainfall(),
                                rainfallData.getMostRainMonth(),
                                rainfallData.getLeastRainMonth() );

        JOptionPane.showMessageDialog(null, userOutputString );

        System.exit( 0 );
    }

}

我试着把公共降雨改成一种方法,但它不知道怎么做,我想知道怎么做。我不知道如何将类嵌套在ethier中,也不知道如何将公共类嵌入到任何其他可以工作的东西中。

我能够再次查看我的代码,发现了许多错误并修复了它们。在这个过程中,修复了我的问题,因为还有很多问题,所以我能够得到我想要的。 如果有人还想看,这里是修订版:

import javax.swing.JOptionPane;
 public class Rainfall {

   double [] rainfallStats;

   public double getTotalRainfall() {
       double totalRainfall =0;

       for ( int index = 0; index < rainfallStats.length; index++) {
       totalRainfall = totalRainfall + rainfallStats[ index ];
       }
       return totalRainfall;
   }

    public double getAverageRainfall() {
      return getTotalRainfall() / rainfallStats.length;
   }

   public double getMostRainMonth () {
       double mostRain = rainfallStats [ 0 ];
       int mostRainMonth = 1;

       for( int index = 0; index < rainfallStats.length; index++ ) {
           if ( rainfallStats[ index ] > mostRain ) {
               mostRain = rainfallStats [ index ];
               mostRainMonth = index + 1;
           }
       }
       return mostRainMonth;
  }

  public double getLeastRainMonth () {
       double leastRain = rainfallStats [ 0 ];
       int leastRainMonth =1;

       for( int index = 0; index < rainfallStats.length; index++ ) {
           if ( rainfallStats[ index ] < leastRain ) {
               leastRain = rainfallStats [ index ];
               leastRainMonth = index + 1;
           }
       }
       return leastRainMonth;
  }

    public Rainfall ( double [] rainfallStatsGiven) {
       rainfallStats = new double [ rainfallStatsGiven.length ];
    for (int index = 0; index < rainfallStatsGiven.length; index++) {
       rainfallStats[ index ] = rainfallStatsGiven [ index ];
       }
}


public static void fillArrayWithUserInput ( double [] arrayGiven ) {
    String userInputString;
    double userMonthlyRainfallFigure;

    for ( int index = 0; index < arrayGiven.length; index++ ){
    userInputString = JOptionPane.showInputDialog("Please enter rainfall figures for month " + (index + 1) );
    userMonthlyRainfallFigure = Double.parseDouble( userInputString );
    arrayGiven [ index ] = userMonthlyRainfallFigure;
    }
}

public static void main(String[] args) {

    final int MONTH_IN_A_YEAR = 12;
    double [] rainfallStats = new double [12];
    String userOutputString;

    fillArrayWithUserInput( rainfallStats );

    Rainfall rainfallData = new Rainfall( rainfallStats );

    userOutputString = String.format ( "Total rainfall: %f\nAverage monthly rainfall"+
                                        ":+ %f\nMonth with most rain: %f\nMonth with least rain: %f",
                                    rainfallData.getTotalRainfall(),
                                    rainfallData.getAverageRainfall(),
                                    rainfallData.getMostRainMonth(),
                                    rainfallData.getLeastRainMonth() );

    JOptionPane.showMessageDialog(null, userOutputString );

    System.exit( 0 );
        }

} 
import javax.swing.JOptionPane;
公共级降雨{
双重统计;
公共双getTotalRainfall(){
两倍总降雨量=0;
for(int index=0;indexmostRain){
mostRain=rainfallStats[索引];
mostRainMonth=指数+1;
}
}
每月返回一次;
}
公共双月{
双leastRain=rainfallStats[0];
月数=1;
for(int index=0;index
“我试图避免使用两个文件,而只是将其合并成一个文件。”-一个问题:为什么?接下来,将责任分成不同的类别实际上是一种很好的方式。对于实际的错误:第二个类别被称为
raining
,对吗?第45行中的方法是构造函数。这就是为什么该方法具有特殊语法(缺少返回类型,与类同名)。如果不知道更多的细节,我们无法进一步帮助您。是的,但基本上我试图实现的是将一个类文件合并到一个.java文件中,因此不必查找该类文件,它已经在java文件中,只是不知道如何做。嗯。。。什么?不能将.class文件(即字节码)合并到.java文件中。我的教授不想要类文件,他只想要.java文件
import javax.swing.JOptionPane;
 public class Rainfall {

   double [] rainfallStats;

   public double getTotalRainfall() {
       double totalRainfall =0;

       for ( int index = 0; index < rainfallStats.length; index++) {
       totalRainfall = totalRainfall + rainfallStats[ index ];
       }
       return totalRainfall;
   }

    public double getAverageRainfall() {
      return getTotalRainfall() / rainfallStats.length;
   }

   public double getMostRainMonth () {
       double mostRain = rainfallStats [ 0 ];
       int mostRainMonth = 1;

       for( int index = 0; index < rainfallStats.length; index++ ) {
           if ( rainfallStats[ index ] > mostRain ) {
               mostRain = rainfallStats [ index ];
               mostRainMonth = index + 1;
           }
       }
       return mostRainMonth;
  }

  public double getLeastRainMonth () {
       double leastRain = rainfallStats [ 0 ];
       int leastRainMonth =1;

       for( int index = 0; index < rainfallStats.length; index++ ) {
           if ( rainfallStats[ index ] < leastRain ) {
               leastRain = rainfallStats [ index ];
               leastRainMonth = index + 1;
           }
       }
       return leastRainMonth;
  }

    public Rainfall ( double [] rainfallStatsGiven) {
       rainfallStats = new double [ rainfallStatsGiven.length ];
    for (int index = 0; index < rainfallStatsGiven.length; index++) {
       rainfallStats[ index ] = rainfallStatsGiven [ index ];
       }
}


public static void fillArrayWithUserInput ( double [] arrayGiven ) {
    String userInputString;
    double userMonthlyRainfallFigure;

    for ( int index = 0; index < arrayGiven.length; index++ ){
    userInputString = JOptionPane.showInputDialog("Please enter rainfall figures for month " + (index + 1) );
    userMonthlyRainfallFigure = Double.parseDouble( userInputString );
    arrayGiven [ index ] = userMonthlyRainfallFigure;
    }
}

public static void main(String[] args) {

    final int MONTH_IN_A_YEAR = 12;
    double [] rainfallStats = new double [12];
    String userOutputString;

    fillArrayWithUserInput( rainfallStats );

    Rainfall rainfallData = new Rainfall( rainfallStats );

    userOutputString = String.format ( "Total rainfall: %f\nAverage monthly rainfall"+
                                        ":+ %f\nMonth with most rain: %f\nMonth with least rain: %f",
                                    rainfallData.getTotalRainfall(),
                                    rainfallData.getAverageRainfall(),
                                    rainfallData.getMostRainMonth(),
                                    rainfallData.getLeastRainMonth() );

    JOptionPane.showMessageDialog(null, userOutputString );

    System.exit( 0 );
        }

}