栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java项目实训——学生成绩查询系统

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java项目实训——学生成绩查询系统

avg:分别统计学生或课程
get song Java:输出song的Java成绩
sort C:输出所有学生在C课程下的排名
new:重新输入学生的成绩

首先应定义静态变量:

static String[] student={"zhang","wang","li","zhao","liu","song"};
static String[] courses={"C","Java","mySQL","Linux","HTMl"};//
static int[][] score=new int[6][5];//静态变量储存在静态存储区

然后定义一个求平均数的方法avg

 public void avg()
   {
	   
	   String sonn;
		Scanner sonm=new Scanner(System.in);
	     sonn= sonm.nextLine();//输入String变量
	   if("C".equals(sonn)||"Java".equals(sonn)||"mySQL".equals(sonn)||"Linux".equals(sonn)||"HTML".equals(sonn))
	   {
		   avgcou(sonn);//若string变量为课程名,执行此方法
	   }
	  else if("zhang".equals(sonn)||"wang".equals(sonn)||"li".equals(sonn)||"zhao".equals(sonn)||"liu".equals(sonn)||"song".equals(sonn))
	   {
	     
		   avgstu(sonn);//若string变量为学生名,执行此方法
	   }
	   else若string变量既不是学生名也不是课程名,执行此方法
	   System.out.println("你输入的既不是课程名,也不是学生名");
   }

avgcou方法:

public void avgcou(String son)
{
	double sum=0.0;
	int i=0,j=0;
	for(i=0;i<5;i++)//
	{
		if(courses[i].equals(son))//逐个判断输入课程名在数组中的位置
		{
			for(j=0;j<6;j++)
			{
				sum+=score[j][i];//根据输入课程名累加学生成绩
            }
			break;
		}
	}
	System.out.print(son+"的平均分是:");
	System.out.printf("%.2fn",sum/6);//实型输出平均数
}

avgstu方法:


public void avgstu(String son)
{
	double sum=0.0;
	int i=0,j=0;
	for(i=0;i<6;i++)
	{
		if(student[i].equals(son))//逐个判断输入学生名在数组中的位置
		{
			for(j=0;j<5;j++)
			{
				sum+=score[i][j];//根据输入学生名累加课程成绩
			}
			break;
		}
	}
	System.out.print(son+"的平均分是:");
	System.out.printf("%.2fn",sum/5);//实型输出平均数
}

get方法:

public void get()
   {
	   int i=0,j=0,k=0;
	    String sonn,son2;
		Scanner sonm=new Scanner(System.in);
	     sonn= sonm.nextLine();//将学生的名赋值给String变量
		 son2= sonm.nextLine();//将课程的名赋值给String变量
		 if("zhang".equals(sonn)||"wang".equals(sonn)||"li".equals(sonn)||"zhao".equals(sonn)||"liu".equals(sonn)||"song".equals(sonn))//判断输入是否为学生名
		 {
			 for(j=0;j<6;j++)
			 {
				 if(student[j].equals(sonn))
					 break;
			 }
			 for(i=0;i<5;i++)
			 {
				 if(courses[i].equals(son2))
				 {
					 System.out.print(student[j]+"的"+courses[i]+"的成绩是:");System.out.println(score[j][i]);k=1;
				 }
			 }
			 if(k==0)//若输入课程名不存在,则执行以下语句
					 System.out.println(sonn+"没有"+son2+"这门课程");
		 }
		 else//若输入学生名不存在,则执行以下语句
			 System.out.println("没有"+sonn+"这个人");
   }

sort方法:

public void sort()
   {
	   int[] a=new int[6];//用于排序学生的成绩
	   String[] b=new String[6];//用于排序学生的名
	   String c;
	   int i=0,j=0,t=0;
	    String sonn;
		Scanner sonm=new Scanner(System.in);
	     sonn= sonm.nextLine();
		 if("C".equals(sonn)||"Java".equals(sonn)||"mySQL".equals(sonn)||"Linux".equals(sonn)||"HTML".equals(sonn))//判断输入的课程名是否存在
		 {
			          for(i=0;i<5;i++)
                {
		           if(courses[i].equals(sonn))
		          {
		 	           break;//保留课程在数组中的位置
		          }
	            }
			  for(j=0;j<6;j++)
				  a[j]=score[j][i];//将score数组中存储的成绩赋给a[],用于交换
			  for(j=0;j<6;j++)
				  b[j]=student[j];//将student数组中存储的学生名赋给b[],用于交换
				for(i=0;i<5;i++)
                  for(j=i+1;j<6;j++)
					  if(a[i]>a[j])//交换数值
					  {
						  t=a[i];a[i]=a[j];a[j]=t;
						  c=b[i];b[i]=b[j];b[j]=c;
					  }
				System.out.println("名次     姓名    "+sonn);
				for(i=0;i<6;i++)//输出表格
				{
				System.out.print(i+1);//输出序号
				System.out.printf("        %-8s",b[i]);//“%-8”加负号表示左对齐,最小八位长度,不足八位向右补空格,不加默认右对齐,不足八位向左补空格
				System.out.println(a[i]);//输出成绩
				}
		 }
		 else
			 System.out.println("没有这门课程");
   }

main方法:

public static void main(String[] args)
	{
		String son1;
		M416 inn=new M416();
		inn.shiyongsuoming();
		inn.shuru();
		Scanner son=new Scanner(System.in);
		while(true)//循环,可反复输入
		{
			System.out.print("请输入命令:");
			son1= son.nextLine();
			if("avg".equals(son1))//若输入avg,则执行
			{
		       inn.avg();
			}
			if("get".equals(son1))//若输入get,则执行
			{
				inn.get();
			}
			if("sort".equals(son1))//若输入sort,则执行
				inn.sort();
			if("exit".equals(son1))//若输入exit,则执行
			{
				System.out.printf("退出查询系统,byebye!");
				break;
			}
			if("new".equals(son1))//重新给score数组赋值
			{
				inn.shuru();
			}
		}
	}
代码如下:
import java.util.Scanner;
public class M416
{
static String[] student={"zhang","wang","li","zhao","liu","song"};
static String[] courses={"C","Java","mySQL","Linux","HTMl"};//
static int[][] score=new int[6][5];
public void avgcou(String son)
{
	double sum=0.0;
	int i=0,j=0;
	for(i=0;i<5;i++)//
	{
		if(courses[i].equals(son))//逐个判断输入课程名在数组中的位置
		{
			for(j=0;j<6;j++)
			{
				sum+=score[j][i];//根据输入课程名累加学生成绩
            }
			break;
		}
	}
	System.out.print(son+"的平均分是:");
	System.out.printf("%.2fn",sum/6);//实型输出平均数
}
public void avgstu(String son)
{
	double sum=0.0;
	int i=0,j=0;
	for(i=0;i<6;i++)
	{
		if(student[i].equals(son))//逐个判断输入学生名在数组中的位置
		{
			for(j=0;j<5;j++)
			{
				sum+=score[i][j];//根据输入学生名累加课程成绩
			}
			break;
		}
	}
	System.out.print(son+"的平均分是:");
	System.out.printf("%.2fn",sum/5);//实型输出平均数
}
   public void shuru()
   {
		System.out.println("请输入学生的各科成绩,每行按科目顺序输入该学生的各科成绩,每输入一项成绩空一格,输入完后回车进入下一名学生的成绩输入,直至输入结束:");
	   int i=0,j=0;
     Scanner inn=new Scanner(System.in);
    for(i=0;i<6;i++)
	for(j=0;j<5;j++)
       score[i][j]=inn.nextInt();
   }
   public void avg()
   {
	   
	   String sonn;
		Scanner sonm=new Scanner(System.in);
	     sonn= sonm.nextLine();//输入String变量
	   if("C".equals(sonn)||"Java".equals(sonn)||"mySQL".equals(sonn)||"Linux".equals(sonn)||"HTML".equals(sonn))
	   {
		   avgcou(sonn);//若string变量为课程名,执行此方法
	   }
	  else if("zhang".equals(sonn)||"wang".equals(sonn)||"li".equals(sonn)||"zhao".equals(sonn)||"liu".equals(sonn)||"song".equals(sonn))
	   {
	     
		   avgstu(sonn);//若string变量为学生名,执行此方法
	   }
	   else若string变量既不是学生名也不是课程名,执行此方法
	   System.out.println("你输入的既不是课程名,也不是学生名");
   }
  public void get()
   {
	   int i=0,j=0,k=0;
	    String sonn,son2;
		Scanner sonm=new Scanner(System.in);
	     sonn= sonm.nextLine();//将学生的名赋值给String变量
		 son2= sonm.nextLine();//将课程的名赋值给String变量
		 if("zhang".equals(sonn)||"wang".equals(sonn)||"li".equals(sonn)||"zhao".equals(sonn)||"liu".equals(sonn)||"song".equals(sonn))//判断输入是否为学生名
		 {
			 for(j=0;j<6;j++)
			 {
				 if(student[j].equals(sonn))
					 break;
			 }
			 for(i=0;i<5;i++)
			 {
				 if(courses[i].equals(son2))
				 {
					 System.out.print(student[j]+"的"+courses[i]+"的成绩是:");System.out.println(score[j][i]);k=1;
				 }
			 }
			 if(k==0)//若输入课程名不存在,则执行以下语句
					 System.out.println(sonn+"没有"+son2+"这门课程");
		 }
		 else//若输入学生名不存在,则执行以下语句
			 System.out.println("没有"+sonn+"这个人");
   }
   public void sort()
   {
	   int[] a=new int[6];//用于排序学生的成绩
	   String[] b=new String[6];//用于排序学生的名
	   String c;
	   int i=0,j=0,t=0;
	    String sonn;
		Scanner sonm=new Scanner(System.in);
	     sonn= sonm.nextLine();
		 if("C".equals(sonn)||"Java".equals(sonn)||"mySQL".equals(sonn)||"Linux".equals(sonn)||"HTML".equals(sonn))//判断输入的课程名是否存在
		 {
			          for(i=0;i<5;i++)
                {
		           if(courses[i].equals(sonn))
		          {
		 	           break;//保留课程在数组中的位置
		          }
	            }
			  for(j=0;j<6;j++)
				  a[j]=score[j][i];//将score数组中存储的成绩赋给a[],用于交换
			  for(j=0;j<6;j++)
				  b[j]=student[j];//将student数组中存储的学生名赋给b[],用于交换
				for(i=0;i<5;i++)
                  for(j=i+1;j<6;j++)
					  if(a[i]>a[j])//交换数值
					  {
						  t=a[i];a[i]=a[j];a[j]=t;
						  c=b[i];b[i]=b[j];b[j]=c;
					  }
				System.out.println("名次     姓名    "+sonn);
				for(i=0;i<6;i++)//输出表格
				{
				System.out.print(i+1);//输出序号
				System.out.printf("        %-8s",b[i]);//“%-8”加负号表示左对齐,最小八位长度,不足八位向右补空格,不加默认右对齐,不足八位向左补空格
				System.out.println(a[i]);//输出成绩
				}
		 }
		 else
			 System.out.println("没有这门课程");
   }
   public void shiyongsuoming()//使用说明
   {
	   System.out.println("使用说明:");
	   System.out.println("每输入一个不用空格隔开的名称则按Enter键,大小写要区分");
	   System.out.println("1.查询平均分:输入avg按回车,再输入学生姓名或课程名,并回车,即可输出该学生的各科平均分或该科目的平均分");
		System.out.println("2.查询学生单科成绩:输入get按回车,再输入要查询的学生姓名,并回车,再输入要查询的单科成绩,即可输出该学生的该科成绩");
		System.out.println("3.查询所有学生在某科下的排名:输入sort按回车,在输入要查询的课程名,并回车,即可输出所有学生在该科下的排名");
		System.out.println("4.若想重新输入学生成绩,输入new并回车");
		System.out.println("5.若想退出,输入exit并回车");
		System.out.println();
   }
	public static void main(String[] args)
	{
		String son1;
		M416 inn=new M416();
		inn.shiyongsuoming();//使用说明
		inn.shuru();//输入成绩
		Scanner son=new Scanner(System.in);
		while(true)//循环,可反复输入
		{
			System.out.print("请输入命令:");
			son1= son.nextLine();
			if("avg".equals(son1))//若输入avg,则执行
			{
		       inn.avg();
			}
			if("get".equals(son1))//若输入get,则执行
			{
				inn.get();
			}
			if("sort".equals(son1))//若输入sort,则执行
				inn.sort();
			if("exit".equals(son1))//若输入exit,则执行
			{
				System.out.printf("退出查询系统,byebye!");
				break;
			}
			if("new".equals(son1))//重新给score数组赋值
			{
				inn.shuru();
			}
		}
	}
    static
    {
		System.out.println("欢迎使用学生成绩查询系统!");//先于main方法被执行
	}
	
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778148.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号