import java.io.*;
import java.util.*;
//这是一个计算学生平均分的程序
public class mark {
public static void main(String[] args) throws Exception
{Judge a=new Judge();
System.out.println("请连续输入5个变量");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String score=br.readLine();
for(int i=0;i<a.mark.length-1;i++)
{a.mark[i]=Float.parseFloat(br.readLine());} // 这句话报错
System.out.println(a.average());
}
}
class Judge
{
int size=5;
float mark[]=null;
public Judge()
{mark=new float[size];}
// 给出平均分
public float average()
{ float sum=0;
for(int i=0;i<mark.length;i++)
{
sum+=mark[i];
}
return sum/(mark.length-2);
}
}
a.mark[i]=Float.parseFloat(br.readLine());} 这句话报错了,我的想法是通过Judge 的一个对象a 把mark数组调用到main函数里赋值,可是失败,报错原因看不懂。。。。求大神指导一下!!谢谢谢谢!
------解决思路----------------------
请连续输入5个变量
1
2
3
4
5
4.6666665
运行没问题啊,你是用空格截开输入的吗?这是回车,因为是判断一行的数
------解决思路----------------------
package com.end;
import java.io.*;
import java.util.*;
//这是一个计算学生平均分的程序
public class mark {
public static void main(String[] args) throws Exception {
Judge a = new Judge();
System.out.println("请连续输入5个变量");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < a.mark.length; i++) {
a.mark[i] = Float.parseFloat(br.readLine());
} // 原来循环条件为什么要减一,导致输入了5个数据,实际只存到数据里面4个
System.out.println(a.average());
}
}
class Judge {
int size = 5;
float mark[] = null;
public Judge() {
mark = new float[size];
}
// 给出平均分
public float average() {
float sum = 0;
for (int i = 0; i < mark.length; i++) {
sum += mark[i];
}
return sum / (mark.length);
}
}