2020-06-15

JAVA程序设计,简单的学生成绩管理

//建立一个score类
package student.score.manage;public class score {    String num;    String name;    String course;    double score;    public score(){	   }	public void setNum(String num) {		this.num = num;	}	public void setName(String name) {		this.name = name;	}	public void setCourse(String course) {		this.course = course;	}	public void setScore(double score) {		this.score = score;	}}//建立一个scorelist类package student.score.manage;import java.util.Scanner;public class scorelist {    int maxLength = 100;	  int length = 0;    score[] data = new score[maxLength];	  Scanner input = new Scanner(System.in);	public scorelist(){	}	//添加记录方法	public void add() {			if(length < maxLength) {				data[length] = new score();				System.out.print("请输入课程名称: ");				data[length].setCourse(input.next());				System.out.print("请输入学生的学号: ");				data[length].setNum(input.next());				System.out.print("请输入学生的姓名:");				data[length].setName(input.next());				System.out.print("请输入学生的成绩:");				data[length].setScore(input.nextDouble());				length++;				System.out.println("添加成功!");			}			else {				System.out.println("添加失败!");			}	}	//显示成绩单方法	public void transcript() {		System.out.println("================================");		System.out.println(" 课程    学号    姓名      成绩 ");		for(int i = 0; i < length; i++) {			System.out.println(data[i].course + "\t" + data[i].num  + "\t" + data[i].name + "\t" + "\t" + data[i].score);		}		System.out.println("=================================\n");	}	//成绩从高往低排序方法	public void sort() {		score temp = new score();		for(int i = 1; i < length; i++)		{			for(int j = 0; j < length - i; j++)			{				if(data[j].score < data[j + 1].score) 				{ //冒泡法排序				temp = data[j]; data[j] = data[j + 1]; data[j + 1] = temp;				}			}		}	}	//平均分、最大最小值方法	public void average() {		double sum = 0.0;		double max = 0.0;		double min = 100.0;		double ave = 0.0;		for(int i = 0; i < length; i++) {		 sum += data[i].score;		 max = max > data[i].score ? max : data[i].score;		 min = min < data[i].score ? min : data[i].score; //三目运算法		 ave = sum/length;		}		System.out.println("平均分为: " + ave + "\n");		System.out.println("最高分为: " + max + "\n" + "最低分为: " + min + "\n");	}	//删除学生记录方法	public void delete() {		System.out.print("请输入您要删除信息的学生的学号: ");    	String number1 = input.next();		int i, flag = length;		for(i = 0; i < length; i++) {			if(number1.equals(data[i].num))					{   flag = i; break;  }			}		if(i == length) {			System.out.println("查无此人!请核对后重新输入 \n");			delete();		}		else {			for(int j = flag; j < length; j++) 			{				data[j] = data[j + 1];			}			System.out.println("删除成功!\n");			length -= 1; //不减1会报数组越界的错误		}	}	//查询某个学生信息方法	public void inquire() {		System.out.print("请输入您要查询成绩的学生的学号:");    	String number2 = input.next();		int i;		for(i = 0; i < length; i++) {			if(number2.equals(data[i].num)) {				System.out.println("==============================");				System.out.println(" 课程    学号    姓名    成绩 ");				System.out.println(data[i].num + "\t" + data[i].name + "\t" + "\t" + data[i].score);				System.out.println("==============================\n");				break;			}			}		if(i == length) {			System.out.println("查无此人!请核对后重新输入学号 \n");			inquire();		}	}	//修改学生信息方法	public void recompose() {		System.out.print("请输入您要修改信息的学生的学号:");    	String number3 = input.next();		int i;		for(i = 0; i < length; i++) {		if(number3.equals(data[i].num)) {		System.out.println("请输入该学生新的课程、学号,姓名和成绩:");data[i].setCourse(input.next());data[i].setNum(input.next());				data[i].setName(input.next());				data[i].setScore(input.nextDouble());				System.out.println("修改成功!\n");				break;			}		}		if(i == length) {			System.out.println("查无此人!请核对后重新输入学号\n");			recompose();		}	}}//建立一个test类package student.score.manage;import java.util.Scanner;public class test {	public static void main(String[] args) {		scorelist studentScoreList = new scorelist();		@SuppressWarnings("resource")		Scanner input = new Scanner(System.in);		int a = 1;		System.out.println("**********学生成绩管理系统********");		System.out.println("1.查看学生成绩单");		System.out.println("2.添加学生成绩记录");		System.out.println("3.修改学生成绩记录");		System.out.println("4.删除学生成绩记录");		System.out.println("5.查看某位学生成绩记录");		System.out.println("6.统计这门课平均分、最高分和最低分");		System.out.println("7.按成绩从高往低排序,并输出");		System.out.println("0.退出程序");		while(a>0||a<8) {			System.out.print("请输入你的选择: ");			a = input.nextInt();			switch (a) {			    case 0: 			    	System.out.println("谢谢您的使用,欢迎下次光临!\n" + ""**********按任意键结束程序**********"); 
			        break;			    case 1:			    	studentScoreList.transcript();			    	System.out.println("请问您还需要什么服务?\n");			    	break;			    case 2:			    	int i = 1;			    	do {			    	studentScoreList.add();			    	System.out.println("\n是否继续添加?" + "\n" + "0.否" + "\n" + "1.是");			    	i = input.nextInt();			    	}while(i == 1);			    	System.out.println("请问您还需要什么服务?\n");			    	break;			    case 3: 			    	studentScoreList.recompose();			    	System.out.println("请问您还需要什么服务?\n");			    	break;			    case 4:			    	studentScoreList.delete();			    	System.out.println("请问您还需要什么服务?\n");			    	break;			    case 5:			    	studentScoreList.inquire();			    	System.out.println("请问您还需要什么服务?\n");			    	break;			    case 6:			    	studentScoreList.average();			    	System.out.println("请问您还需要什么服务?\n");			    	break;			    case 7:			    	studentScoreList.sort();			    	studentScoreList.transcript();			    	System.out.println("请问您还需要什么服务?\n");			    	break;				default: 					System.out.println("无效输入!"); 		}	}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值