Java Don';无法理解符号错误--第一次使用数组
我正在为我的Java类编写一个程序。这些说明对我来说似乎很直接,但我会把它们贴在下面,以防有人对它们有不同的解释 编写具有以下字段的雨量类: •存储12个月内每个月降雨量的双倍阵列 年份(第一个指数对应于1月,第二个指数对应于 二月等) 该类还应具有以下方法: •返回全年总降雨量的方法 •返回当年月平均降雨量的方法 •以字符串形式返回降雨量最多的月份的方法 •将降雨量最少的月份作为字符串返回的方法 在一个程序中演示该类,该程序从用户处获取12个双倍(取 按一年中的月份顺序加倍,第一个对应于 一月份的降雨量等)。执行输入验证:如果用户输入负数 数字,忽略它,并继续要求他们输入,直到你有12个 非负双打 一旦用户为您提供了所有12个双倍,创建一个降雨实例 类并调用其方法,打印出总降雨量、平均降雨量 月降雨量、降雨量最多的月份和降雨量最少的月份 雨,每一个都在一条单独的线上 我们从一开始就得到了一些代码,除了方法之外,似乎什么都有。这是给我们的Java Don';无法理解符号错误--第一次使用数组,java,arrays,Java,Arrays,我正在为我的Java类编写一个程序。这些说明对我来说似乎很直接,但我会把它们贴在下面,以防有人对它们有不同的解释 编写具有以下字段的雨量类: •存储12个月内每个月降雨量的双倍阵列 年份(第一个指数对应于1月,第二个指数对应于 二月等) 该类还应具有以下方法: •返回全年总降雨量的方法 •返回当年月平均降雨量的方法 •以字符串形式返回降雨量最多的月份的方法 •将降雨量最少的月份作为字符串返回的方法 在一个程序中演示该类,该程序从用户处获取12个双倍(取 按一年中的月份顺序加倍,第一个对应于 一月
import java.util.Scanner;
public class RainFall {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double[] rainfall = new double[12];
int i = 0;
System.out.print("Enter rainfall for month 1:");
while(i < 12){
double rain = scanner.nextDouble();
if(rain >= 0){
rainfall[i] = rain;
i++;
}
if(i!=12){
System.out.print("Enter rainfall for month " + (i+1) + ":");
}
}
RainFall rf = new RainFall(rainfall);
System.out.println(rf.total());
System.out.println(rf.average());
System.out.println(rf.most());
System.out.println(rf.least());
}
//add code here
}
import java.util.Scanner;
公共级降雨{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
双[]降雨量=新双[12];
int i=0;
System.out.print(“输入第1个月的降雨量:”);
而(i<12){
double rain=scanner.nextDouble();
如果(雨>=0){
降雨[i]=降雨;
i++;
}
如果(i!=12){
系统输出打印(“输入月份降雨量”+(i+1)+“:”;
}
}
降雨量rf=新降雨量(降雨量);
System.out.println(rf.total());
System.out.println(rf.average());
System.out.println(rf.most());
System.out.println(rf.least());
}
//在这里添加代码
}
所以我把这个放在我们应该添加代码的地方
public RainFall(double[] a) {
rainfall = a;
}
public static double total() {
double t = 0.0;
for(int i = 0; i < rainfall.length; i++) {
t += rainfall[i];
}
return t;
}
public static double average() {
double v = 0.0;
double t = 0.0;
for(int i = 0; i < rainfall.length; i++) {
t += rainfall[i];
}
v = t/rainfall.length;
return v;
}
public static String most() {
String months[]={"January", "February", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"};
int j = 0;
int max = rainfall[0];
for(int i = 1; i < rainfall.length; i++) {
if(rainfall[i] > max) {
max = rainfall[i];
j = i;
}
}
return months[j];
}
public static String least() {
String months[]={"January", "February", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"};
int j = 0;
int min = rainfall[0];
for(int i = 1; i < rainfall.length; i++) {
if(rainfall[i] < min) {
min = rainfall[i];
j = i;
}
}
return months[j];
}
公共降雨量(双[]a){
降雨量=a;
}
公共静态双倍总计(){
双t=0.0;
对于(int i=0;i最大值){
max=降雨量[i];
j=i;
}
}
返回月份[j];
}
公共静态字符串least(){
字符串月份[]={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”,
“十月”、“十一月”、“十二月”};
int j=0;
int min=降雨量[0];
对于(int i=1;i
如果有人能帮我解决这个问题,我将不胜感激。我真的不知道如何解决这个问题。您正在尝试从静态方法访问实例变量。您需要先声明实例变量
raining
,然后才能使用它。另外,在min()
和max()
函数中,缺少对int
的一些强制转换
请尝试更改添加到此中的代码:
public class RainFall {
public double[] rainfall;
public RainFall(double[] a) {
this.rainfall = a;
}
public double total() {
double t = 0.0;
for(int i = 0; i < rainfall.length; i++) {
t += rainfall[i];
}
return t;
}
public double average() {
double v = 0.0;
double t = 0.0;
for(int i = 0; i < rainfall.length; i++) {
t += rainfall[i];
}
v = t/rainfall.length;
return v;
}
public String most() {
String months[]={"January", "February", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"};
int j = 0;
int max = (int) rainfall[0];
for(int i = 1; i < rainfall.length; i++) {
if(rainfall[i] > max) {
max = (int) rainfall[i];
j = i;
}
}
return months[j];
}
public String least() {
String months[]={"January", "February", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"};
int j = 0;
int min = (int) rainfall[0];
for(int i = 1; i < rainfall.length; i++) {
if(rainfall[i] < min) {
min = (int) rainfall[i];
j = i;
}
}
return months[j];
}
}
公共类降雨{
公众双[]降雨;
公众降雨量(双倍[]a){
这就是降雨量=a;
}
公共双总额(){
双t=0.0;
对于(int i=0;i最大值){
max=(int)降雨量[i];
j=i;
}
}
返回月份[j];
}
公共字符串最小值(){
字符串月份[]={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”,
“十月”、“十一月”、“十二月”};
int j=0;
int min=(int)降雨量[0];
对于(int i=1;i
还可以在此堆栈交换帖子中了解静态
和实例
的含义:
快乐编码问题到底是什么?如果您有错误,请阅读并发布。这很重要。它告诉你什么是错的,在哪里。你需要指定编译器错误,它会指出问题所在,用什么符号。还要考虑使用更有意义的变量NA。