逗留的大爷 逗留的大爷
人生需要一次说走就走的旅行
关注数: 12 粉丝数: 42 发帖数: 449 关注贴吧数: 11
程序越界了,怎么办,求大神指教,今天作业了 import java.io.*; import static java.rmi.Naming.list; import java.util.*; import static java.util.Collections.list; class Student { String id; float e; float m; float p; public float getE(){ return e; } public void setE(float e){ this.e=e; } public String getId(){ return id; } public void setId(String id){ this.id=id; } public float getM(){ return m; } public void setM(float m){ this.m=m; } public float getP(){ return p; } public void setP(float p){ this.p=p; } /** * */ public static final class CountS{ String filepath; List list = new ArrayList(); public CountS(String str){ filepath=str; init(); } public void init(){ try{ FileReader fr=new FileReader(filepath); BufferedReader br=new BufferedReader(fr); String str; while((str=br.readLine())!=null){ Student s=new Student(); StringTokenizer st; st = new StringTokenizer("id#"); String first=""; String data=""; String next=""; String elem=st.nextToken(); first=elem.split("e#")[0]; data=elem.split("m#")[1]; next=elem.split("p#")[2]; s.setId(data); elem=st.nextToken(); first=elem.split("#")[0]; data=elem.split("#")[1]; s.setE(Float.valueOf(data).floatValue()); elem=st.nextToken(); first=elem.split("#")[0]; data=elem.split("#")[1]; s.setM(Float.valueOf(data).floatValue()); elem=st.nextToken(); first=elem.split("#")[0]; data=elem.split("#")[1]; s.setP(Float.valueOf(data).floatValue()); list.add(s); } }catch(Exception e){ e.printStackTrace(); } } public void countAnddisplay(){ float[]e=new float[]{100,0,0}; float[]m=new float[]{100,0,0}; float[]p=new float[]{100,0,0}; Iterator it=list.iterator(); while(it.hasNext()){ Student ele=new Student(); if(e[0]>ele.getE()){ e[0]=ele.getE(); } if(e[1]<ele.getE()){ e[1]=ele.getE(); } e[2]+=ele.getE(); if(m[0]>ele.getM()){ m[0]=ele.getM(); } if(m[1]<ele.getM()){ m[1]=ele.getM(); } m[2]+=ele.getM(); if(p[0]>ele.getP()){ p[0]=ele.getP(); } if(p[1]<ele.getP()){ p[1]=ele.getP(); } p[2]+=ele.getP(); } e[2]=e[2]/list.size(); m[2]=m[2]/list.size(); p[2]=p[2]/list.size(); System.out.println("英语最低分:"+e[0]+""); System.out.println("英语最高分:"+e[1]+""); System.out.println("英语平均分:"+e[2]+""); System.out.println("数学平均分:"+m[0]+""); System.out.println("数学平均分:"+m[1]+""); System.out.println("数学平均分:"+m[2]+""); System.out.println("物理平均分:"+p[0]+""); System.out.println("物理平均分:"+p[1]+""); System.out.println("物理平均分:"+p[2]+""); } } public static void main(String[] args) { // TODO code application logic here CountS cs; cs = new CountS("student/student.txt"); cs.countAnddisplay(); } }
报错 说越界了 求大神改下 package student; import java.io.*; import static java.rmi.Naming.list; import java.util.*; import static java.util.Collections.list; class Student { String id; float e; float m; float p; public float getE(){ return e; } public void setE(float e){ this.e=e; } public String getId(){ return id; } public void setId(String id){ this.id=id; } public float getM(){ return m; } public void setM(float m){ this.m=m; } public float getP(){ return p; } public void setP(float p){ this.p=p; } /** * */ public static final class CountS{ String filepath; List list = new ArrayList(); public CountS(String str){ filepath=str; init(); } public void init(){ try{ FileReader fr=new FileReader(filepath); BufferedReader br=new BufferedReader(fr); String str; while((str=br.readLine())!=null){ Student s=new Student(); StringTokenizer st; st = new StringTokenizer("id#"); String first=""; String data=""; String next=""; String elem=st.nextToken(); first=elem.split("e#")[0]; data=elem.split("m#")[1]; next=elem.split("p#")[2]; s.setId(data); elem=st.nextToken(); first=elem.split("#")[0]; data=elem.split("#")[1]; s.setE(Float.valueOf(data).floatValue()); elem=st.nextToken(); first=elem.split("#")[0]; data=elem.split("#")[1]; s.setM(Float.valueOf(data).floatValue()); elem=st.nextToken(); first=elem.split("#")[0]; data=elem.split("#")[1]; s.setP(Float.valueOf(data).floatValue()); list.add(s); } }catch(Exception e){ e.printStackTrace(); } } public void countAnddisplay(){ float[]e=new float[]{100,0,0}; float[]m=new float[]{100,0,0}; float[]p=new float[]{100,0,0}; Iterator it=list.iterator(); while(it.hasNext()){ Student ele=new Student(); if(e[0]>ele.getE()){ e[0]=ele.getE(); } if(e[1]<ele.getE()){ e[1]=ele.getE(); } e[2]+=ele.getE(); if(m[0]>ele.getM()){ m[0]=ele.getM(); } if(m[1]<ele.getM()){ m[1]=ele.getM(); } m[2]+=ele.getM(); if(p[0]>ele.getP()){ p[0]=ele.getP(); } if(p[1]<ele.getP()){ p[1]=ele.getP(); } p[2]+=ele.getP(); } e[2]=e[2]/list.size(); m[2]=m[2]/list.size(); p[2]=p[2]/list.size(); System.out.println("英语最低分:"+e[0]+""); System.out.println("英语最高分:"+e[1]+""); System.out.println("英语平均分:"+e[2]+""); System.out.println("数学平均分:"+m[0]+""); System.out.println("数学平均分:"+m[1]+""); System.out.println("数学平均分:"+m[2]+""); System.out.println("物理平均分:"+p[0]+""); System.out.println("物理平均分:"+p[1]+""); System.out.println("物理平均分:"+p[2]+""); } } public static void main(String[] args) { // TODO code application logic here CountS cs; cs = new CountS("student/student.txt"); cs.countAnddisplay(); } }
1 下一页