⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xs_102.java

📁 学生成绩管理系统
💻 JAVA
字号:
import java.io.*;
class student
{private String name;
 private String sex;
 private long number;
 float Jscore,Cscore,Hscore;
 float avs;
 student(String cname,long cnumber,String csex,float cJscore,float cCscore,float cHscore)
   //JAVA,C,汇编三项成绩     
 {name=cname;number=cnumber;sex=csex;
  Jscore=cJscore;Cscore=cCscore;Hscore=cHscore;
 }
 String getName(){return name;}
 long getNumber(){return number;}
 String getSex(){return sex;}
 float getJscore(){return Jscore;}
 float getCscore(){return Cscore;}
 float getHscore(){return Hscore;}
 float averagescore(){avs=(Jscore+Cscore+Hscore)/3;   return avs;}//计算平均成绩
 void grade(){if(avs>=90)System.out.print("  优");//判断成绩等级
               else if(avs>=80)System.out.print("  良");
                     else if(avs>=70)System.out.print("  中");
                           else if(avs>=60)System.out.print("  及格");
                                 else System.out.print("  不及格");
             }
 float maxscore(){float x=(Jscore>Cscore)?Jscore:Cscore;float max=(x>Hscore)?x:Hscore; 
                   return max;
                  }//输出每人的最高分
 float minscore(){float x=(Jscore<Cscore)?Jscore:Cscore;float min=(x<Hscore)?x:Hscore;
                   return min;
                  }//输出每人的最低分
}

class order
{static void sort(student arr1[],int m)//按平均分排序----选择法
 {int i,j,k;student t;
  for(i=0;i<(m-1);i++)
  {k=i;
   for(j=i+1;j<m;j++)
    if(arr1[j].averagescore()>arr1[k].averagescore())k=j;
   if(k>i)
    {t=arr1[i];arr1[i]=arr1[k];arr1[k]=t;}
  }
 }
static void Am(student arr2[],int m)//按姓氏排序-------选择法
 {int i,j,k;student t;
  for(i=0;i<(m-1);i++)
   {k=i;
    for(j=i+1;j<m;j++)
     {int q=arr2[j].getName().compareTo(arr2[k].getName());
      if(q<0)k=j;
     }
    if(k>i)
     {t=arr2[i];arr2[i]=arr2[k];arr2[k]=t;}
   }
 }

 
}
public class xs_102 extends order   //主类
{
 public static void main(String[] args)throws IOException
{int m=0;
BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
 int i,j;String c1;
 student[] st=new student[200];
for(;;)//最外层循环,以实现程序跳转,达到插入的目的
 {System.out.print("这是学生成绩管理系统,要输入数据吗?"+"y/n  ");//输入模块开始
  c1=keyin.readLine();
  if(c1.equalsIgnoreCase("y"))//判断是否要输入数据
   {for(;;)
     {String n;int a;String b;int c,d,e;
      String a1,c2,d1,e1;
      System.out.print("请输入第"+(m+1)+"个学生的姓名:");
      n=keyin.readLine();
      System.out.print("请输入第"+(m+1)+"个学生的学号:");
      a1=keyin.readLine();
      a=Integer.parseInt(a1);
      System.out.print("请输入第"+(m+1)+"个学生的性别:");
      b=keyin.readLine();
      System.out.print("请输入第"+(m+1)+"个学生的JAVA成绩:");
      c2=keyin.readLine();
      c=Integer.parseInt(c2);
      System.out.print("请输入第"+(m+1)+"个学生的C语言成绩:");
      d1=keyin.readLine();
      d=Integer.parseInt(d1);
      System.out.print("请输入第"+(m+1)+"个学生的汇编成绩:");
      e1=keyin.readLine();
      e=Integer.parseInt(e1);
      st[m]=new student(n,a,b,c,d,e);
      m=m+1;
      System.out.print("终止输入请键入"+"end"+","+"否则直接按回车");//判断是否终止输入
      String x1;
      x1=keyin.readLine();
      if(x1.equalsIgnoreCase("end"))   break;//
      }
    }                                   //输入模块结束



 {System.out.print("需要查看平均分排序结果吗?"+"y/n  ");//排序模块1---输出按平均分排序的结果
   String x4;
      x4=keyin.readLine();
      if(x4.equalsIgnoreCase("y"))
   {if(m==0)System.out.println("您还没有输入数据!");
     order.sort(st,m);
     for(i=0;i<m;i++)
     {System.out.print("姓名:"+st[i].getName()+" 第"+(i+1)+"名"+" 学号:"+st[i].getNumber()+" 性别:"+st[i].getSex()+" Java:"+st[i].getJscore()+" C语言:"+st[i].getHscore()+" 汇编:"+st[i].getHscore()+"\n"+" 平均:"+st[i].averagescore()+" 最高:"+st[i].maxscore()+" 最低:"+st[i].minscore());
     st[i].grade();
     System.out.print("\n");
     System.out.print("\n");
     }
     }//排序模块1结束
 System.out.print("需要查看姓氏排序结果吗?"+"y/n  ");//排序模块2---输出按姓氏排序的结果
   String x5;
      x5=keyin.readLine();
      if(x5.equalsIgnoreCase("y"))
    {if(m==0)System.out.println("您还没有输入数据!");
     order.Am(st,m);
     for(i=0;i<m;i++)
     {System.out.print("姓名:"+st[i].getName()+" 第"+(i+1)+"名"+" 学号:"+st[i].getNumber()+" 性别:"+st[i].getSex()+" Java:"+st[i].getJscore()+" C语言:"+st[i].getHscore()+" 汇编:"+st[i].getHscore()+"\n"+" 平均:"+st[i].averagescore()+" 最高:"+st[i].maxscore()+" 最低:"+st[i].minscore());
     st[i].grade();
     System.out.print("\n");
     System.out.print("\n");
     }
    }//排序模块2结束
 }

//查找模块
 {System.out.print("需要查找吗?"+"y/n  ");
   String x1;
      x1=keyin.readLine();
      if(x1.equalsIgnoreCase("y"))
   for(;;)//该循环用来实现循环查找
    {String c3;
    order.sort(st,m-1);
    System.out.print("请输入要查找的学生姓名:  ");
    c3=keyin.readLine();
    if(m!=0)
    {for(i=0;i<m;i=i+1)
     {if(c3.equalsIgnoreCase(st[i].getName()))
       {System.out.print("\n"+"姓名:"+st[i].getName());
        System.out.print("  学号:"+st[i].getNumber());
        System.out.print("  性别:"+st[i].getSex());
        System.out.print("\n"+"Java:"+st[i].getJscore()+" C语言:"+st[i].getCscore()+" 汇编:"+st[i].getHscore());
        System.out.print("\n"+"平均:"+st[i].averagescore());
        System.out.print("  最高:"+st[i].maxscore()+" 最低:"+st[i].minscore());
        st[i].grade();
        System.out.println(" 第"+(i+1)+"名");break;
       }
     }
     if(i==m)
     System.out.println("无此人!");
    }
    else System.out.println("您还没有输入数据!");
 System.out.print("是否继续查找?"+"y/n  ");//判断是否继续查找
 String y2;
      y2=keyin.readLine();
      if(y2.equalsIgnoreCase("n"))    break;
 }
}//查找模块结束



//删除信息模块
{System.out.print("需要删除吗?"+"y/n  ");
  String x2;
      x2=keyin.readLine();
      if(x2.equalsIgnoreCase("y"))
 for(;;)//该循环用来实现循环删除
   {String c4;
    System.out.print("输入姓名:  ");
    c4=keyin.readLine();
    int w=m;  
    for(i=0;i<m;i=i+1)
     {if(c4.equalsIgnoreCase(st[i].getName()))
       {for(j=i;j<m;j++)
         {st[j]=st[j+1];m=m-1;
         }
      System.out.println("删除完毕!");
      break;
       }
      else
    System.out.println("无此人!");
     }
System.out.print("是否继续删除?"+"y/n  ");//判断是否继续删除
 String y3;
      y3=keyin.readLine();
      if(y3.equalsIgnoreCase("n"))    break;

   }//删除模块结束
}


 //以下语句用来将程序跳转至输入模块开始,间接实现了插入新学生信息的功能
 System.out.print("需要插入吗?"+"y/n  ");
 String y1;
      y1=keyin.readLine();
      if(y1.equalsIgnoreCase("n"))    break;

  }
 }
}
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -