当前位置: 代码迷 >> J2SE >> 来来来,小白送分给大牛了
  详细解决方案

来来来,小白送分给大牛了

热度:50   发布时间:2016-04-23 20:12:51.0
来来来,小白送分给大牛了 求助
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);

}

}

  相关解决方案