计算某班学生的某门成绩
计算某班学生期末考试的某门单科总评成绩,其中平时分占10%,期中考试占25%,期末考试的上机部分占15%,期末笔试部分占50%。
要求: 
(1) 要求定义类及的成员方法完成上述计算,并输出计算结果。
(2) 打印这八个学生某门单科的最后总评得分,要有学生学号、各阶段分数及最后的总评成绩。
(3) 查找出得分超过90分(含90分)的学生学号及总评成绩。
(4) 查找出得分低于60分(不含60分)的学生学号及总评成绩。
(5) 要求以给出的八个学生成绩为例测试程序的运行,并要求测试数据从键盘输入。
提示:数值变量可以先定义成字符串型,然后再转换成数值进行运算和输出。
已知:八个学生的各阶段成绩如下:
学号        平时分        期中        期末上机        期末笔试
101         90            88          87              84
102         78            60          70              75
103         90            86          91              93
104         50            44          36              60
105         88            87          90              92
106         64            72          70              80
107         60            61          55              55
108         81            84          83              87
谢谢大家了!!!

解决方案 »

  1.   

    说实话   JAVA连接打印机的问题我一直没解决     我一直没能在同一个FRAME里设置不同的字体
      

  2.   

    自己试着做吧,遇到具体不明白的东西再来问。
    当你做完了,你会发现java原来也很好学,你会很有成就的。
      

  3.   

    我做一个参考的,主要是数据输入问题没有时间解决,你不妨到论坛上查数据输入阻塞的处理.
    import java.io.*;
    import java.lang.*;
    public class CalculateCj {
    String studentNo;
    float psf;
    float qzf;
    float qmf;
    float qmbs;
    private int count=0;
    CalculateCj[] ClassZs;
    CalculateCj(int n)
    {   count=n; 
    ClassZs=new CalculateCj[n];}
    public void setPsf(int i,float psf1){
    ClassZs[i].psf=psf1;
    }
    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;
    }
    public void printDK(){
    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);
       }
    }
    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){
    BufferedReader streami = new BufferedReader(
    new InputStreamReader(System.in));
     String studentInfo;
     try {
      System.out.println("请输入学号:");
      studentInfo=streami.readLine();
      ClassZs[i].studentNo=studentInfo;
      System.out.println("请输入平时分:");
      studentInfo=streami.readLine();
      ClassZs[i].psf=Float.parseFloat(studentInfo);
      
      System.out.println("请输入期中分:");
      studentInfo=streami.readLine();
      ClassZs[i].qzf=Float.parseFloat(studentInfo);
      
      System.out.println("请输入期末上机分:");
      studentInfo=streami.readLine();
      ClassZs[i].qmf=Float.parseFloat(studentInfo);
      
      System.out.println("请输入期末笔试分:");
      studentInfo=streami.readLine();
      ClassZs[i].qmbs=Float.parseFloat(studentInfo); }
     catch (Exception ex) {
     }
      
    }
    public static void main(String []args){
       CalculateCj myClass=new CalculateCj(8);
       myClass.inputAllData(); 
       System.out.println("90分及以上学生的情况:");
       myClass.printFilterCJGood();
       System.out.println("不及格的学生的情况:");
       myClass.printFilterCJBad();
       System.out.println("所有学生的情况:");
       myClass.printDK();
    }
    }
      

  4.   

    我已经将上述存在的部分错误改进了一下,如下主要是没有正确地初始化:
    import java.io.*;
    import java.lang.*;
    public class CalculateCj {
    String studentNo="";
    float psf=0;
    float qzf=0;
    float qmf=0;
    float qmbs=0;
    private int count=0;
    CalculateCj[] ClassZs;
    CalculateCj(){
    }
    CalculateCj(int n)
    {   count=n; 
    ClassZs=new CalculateCj[n];
    for(int i=0;i<n;i++){
    ClassZs[i]=new CalculateCj();
    }}
    public void setPsf(int i,float psf1){
    ClassZs[i].psf=psf1;
    }
    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;
    }
    public void printDK(){
    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);
       }
    }
    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){
     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);
      
      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){
       CalculateCj myClass=new CalculateCj(8);
       myClass.inputAllData(); 
       System.out.println("90分及以上学生的情况:");
       myClass.printFilterCJGood();
       System.out.println("不及格的学生的情况:");
       myClass.printFilterCJBad();
       System.out.println("所有学生的情况:");
       myClass.printDK();
    }
    }