我的工作從MyProrammingLab轉讓不接受: 編寫具有以下領域的降雨量等級:降雨程序代碼實驗室
•雙打的陣列存儲降雨量爲每12個月的 的年(其中第一個索引與一月,第二與 月等對應)
類也應該有以下幾種方法:
•返回的總降雨量爲全年的方法210•返回的月平均降雨量爲全年 •返回最雨的月份作爲一個字符串 •返回用最少雨的月份作爲一個字符串
展示類的方法等的方法在一個程序中,用戶需要12次雙打(按月份排列 雙打,第一次對應於1月份的降雨量 等)。做輸入驗證:如果用戶輸入一個負數 ,忽略它並繼續詢問他們的輸入,直到你有12 非負雙數。
一旦用戶給你所有12個雙打,創建降雨 類的一個實例並調用其方法,打印出的總降雨量,平均 月降雨量,最雨的月份,當月至少是下雨,每個都在一條獨立的線路上。
這是我的計劃,這是工作的罰款與NetBeans而是通過代碼實驗室拒絕:
import java.text.DateFormatSymbols;
import java.util.Scanner;
public class RainFall {
final private double[] rainFall;
public RainFall(double[] arr) {
rainFall = arr;
}
public double getTotalRain() {
double total = 0;
for(int i=0;i<rainFall.length;i++)
total = total + rainFall[i];
return total;
}
public double getAverageRain() {
double average = 0;
for(int i=0;i<rainFall.length;i++)
average = average + rainFall[i];
return average/rainFall.length;
}
public String getHighestRain() {
int j=0;
for(int i=0;i<12;i++)
if(rainFall[i]>rainFall[j])
j=i;
return new DateFormatSymbols().getMonths()[j];
}
public String getLowestRain() {
int j=1;
for(int i=0;i<12;i++)
if(rainFall[i]<rainFall[j])
j=i;
return new DateFormatSymbols().getMonths()[j];
}
public static void main(String[] args) {
Scanner myScan = new Scanner(System.in);
double[] rainfallInput = new double[12];
for(int i=1;i<=12;i++) {
System.out.print("Enter rainfall for month " + i + ":");
rainfallInput[i-1]=myScan.nextDouble();
myScan.nextLine();
if(rainfallInput[i-1]<0) {
System.out.print("Enter rainfall for month " + i + :");
rainfallInput[i-1]=myScan.nextDouble();
myScan.nextLine();
}
}
RainFall rain = new RainFall(rainfallInput);
System.out.println(rain.getTotalRain());
System.out.println(rain.getAverageRain());
System.out.println(rain.getHighestRain());
System.out.println(rain.getLowestRain());
}
}
任何幫助,將不勝感激! 預先感謝您
添加具體細節爲什麼被拒絕? – SomeDude
「如果用戶輸入一個負數,忽略它,並繼續詢問他們的輸入,直到」 - 你只重複一次提示,而不是無限期地輸入一個正值。 –