刚学JAVA3天,请大家指教下~我理解的程序对吗?

blackjam 2005-12-29 10:22:18
刚学了3天,请大家指教下~~呵呵~只能先看看别人的程序~~~~~自己只能写一些很基础的小程序~~呵呵~~请大家看看我理解的是否正确啊?
import java.io.*;//导入类,程序中用到的系统函数
import java.lang.*;
public class chengji {
String studentNo="";//初始化学号!
float psf=0;
float qzf=0;
float qmf=0;
float qmbs=0;
private int count=0;
chengji[] ClassZs;//定义一个数组对象!
chengji(){
}//构造函数
chengji(int n)//重载构造函数!
{ count=n;
ClassZs=new chengji[n];
/* 以下的程序是产生count个类的对象*/
for(int i=0;i<n;i++){
ClassZs[i]=new chengji();
}

}
public void setPsf(int i,float psf1){
ClassZs[i].psf=psf1;//将函数的变量参数psf1的值传递给数组对象的属性psf
}
public void setQzf(int i,float qzf1){
ClassZs[i].qzf=qzf1;
}
public void setQmf(int i,float qmf1){
ClassZs[i].qmf=qmf1;
}
public void setQmbs(int i,float qmbs1){
ClassZs[i].qmbs=qmbs1;
}

public float getZF(int i){
float score;
score=0;
score+=0.10*ClassZs[i].psf+0.25*ClassZs[i].qzf+0.15*ClassZs[i].qmf+0.50*ClassZs[i].qmbs;
return score;//数学公式,返回score,获得总分!
}
/* 下面是输出结果的函数*/
public void printDK(){
try {//try...catch为抛出异常的代码,先执行try代码块,检查异常,有异常则执行catch,无则执行try内的代码!
for (int i=0;i<count;i++){
String result="";
result="学号:"+ClassZs[i].studentNo+"平时分:"+ClassZs[i].psf;
result+="期中:"+ClassZs[i].qzf+"期末上机:"+ClassZs[i].qmf+"期末笔试:"+ClassZs[i].qmbs;
System.out.println(result);
}
}
catch (Exception ex) {
}
}

public void inputAllData(){
for(int i=0;i<count;i++){
inputData(i);//引用重载的inputData函数
}
}
public void printFilterCJGood(){
for(int i=0;i<count;i++){
if (getZF(i)>=90)
System.out.println("学号:"+ClassZs[i].studentNo+"总评成绩:"+getZF(i));
}
}

public void printFilterCJBad(){
for(int i=0;i<count;i++){
if (getZF(i)<60)
System.out.println("学号:"+ClassZs[i].studentNo+"总评成绩:"+getZF(i));
}
}

public void inputData(int i){//重载inputData函数
try {
BufferedReader streami = new BufferedReader(
new InputStreamReader(System.in));//定义一个可以从键盘获取数据的对象,具体的不清楚!!呵呵~
String studentInfo;
studentInfo="";//初始化
System.out.print("请输入学号:");
studentInfo=streami.readLine();
ClassZs[i].studentNo=studentInfo;
System.out.print("请输入平时分:");
studentInfo=streami.readLine();
ClassZs[i].psf=Float.parseFloat(studentInfo);//强制转换为float类型数据

System.out.print("请输入期中分:");
studentInfo=streami.readLine();
ClassZs[i].qzf=Float.parseFloat(studentInfo);

System.out.print("请输入期末上机分:");
studentInfo=streami.readLine();
ClassZs[i].qmf=Float.parseFloat(studentInfo);

System.out.print("请输入期末笔试分:");
studentInfo=streami.readLine();
ClassZs[i].qmbs=Float.parseFloat(studentInfo);

}
catch (Exception ex) {System.out.print(ex.toString());
}

}
public static void main(String []args){
chengji myClass=new chengji(8);//8为参数传递给构造函数
myClass.inputAllData();
System.out.println("90分及以上学生的情况:");
myClass.printFilterCJGood();
System.out.println("不及格的学生的情况:");
myClass.printFilterCJBad();
System.out.println("所有学生的情况:");
myClass.printDK();
}
}
...全文
173 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧