尝试将一个类文件合并为一个java文件
我试图避免使用两个文件,而是将其合并成一个文件 所以我在一个.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
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 );
}
}