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

📄 studentsystem.java

📁 学生成绩管理系统--添加学生信息、按学号删除、修改学生信息
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.io.*;
import java.util.*;

class Student
{
	String sno;
	String sname;
	String sex;
	String score;
	Student(String sno,String sname,String sex,String score)
	{
		this.sno = sno;
		this.sname = sname;
		this.sex = sex;
		this.score = score;
	}
}

class StudentArrangement
{
	Student[] all_students;
	static int count = 0;
	static int number;

	void addStudent(Student _student)  //增加学生信息
	{
		all_students[count] = _student;
		count++;
	}
	
	int addStudentJudgeSno(String args)  //判断添加的学号是否合法
	{
		int blag = 0;
		int tag = 0;
		if(args.length() == 6)
		{
			for (int i=0;i<args.length();i++)
			{
				if(args.charAt(i)<='9'&&args.charAt(i)>='0')
				{
					blag++;
					continue;
				}
				else
				{
					tag = 0;
				}
			}
			if(blag == args.length() && args.substring(0,4).equals("2009"))
			{
				tag = 1;
			}
			else
			{
				tag = 0;
			}
		}
		return tag;
	}
	
	int addStudentJudgeSnoUnique(String sno) //判断添加的学号是否唯一
	{
		int tag = 1;
		for(int i=0;i<count;i++)
		{
			if(all_students[i].sno.equals(sno))
			{
				tag = 0;
				break;
			}
		}
		return tag;
	}

	int addStudentJudgeSex(String args)  //判断添加的性别是否合法
	{
		int tag = 0;
		if(args.length() == 1)
		{
			if(args.substring(0).equals("M") || args.substring(0).equals("F"))
			{
				tag = 1;
			}
			else
			{
				tag = 0;
			}
		}
		return tag;
	}
	
	int addStudentJudgeScore(String args)  //判断添加的成绩是否合法
	{
		int count =0;
		int blag = 0;
		int tag = 0;
		int position = -1;
		for (int i=0;i<args.length();i++) //判断有几个小数点
		{
			if(args.charAt(i) == '.')
			{
				count++;
			}
		}
		/*在'.'有一个或没有、'.'不在字符串的首部、'.'不在字符串的末尾的情况下,
		如果有'.',定位'.'的位置,判断除'.'之外的字符串的各个字符是否为数字字符*/
		if((count==1 || count==0) && args.charAt(0)!='.' && args.charAt(args.length()-1)!='.')
		{
			for (int i=0;i<args.length();i++) //定位'.'的位置
			{
				  if(args.charAt(i) == '.')
				  {
					  position = i;
					  break;
				  }
			}
			//判断除'.'之外的字符串的各个字符是否为数字字符
			for (int i=0;i<args.length();i++)  
			{			
				if(i != position)
				{
					if(args.charAt(i)<='9' && args.charAt(i)>='0')
					{
						blag = 1;
					}
					else
					{
						blag = 0;
						break;
					}
				}
			}
		}
		else
		{
			blag =0;
		}

		if(blag == 1 && count == 0) //没小数点时,判断字符串数字是否在0到100之间
		{	
			if(Integer.parseInt(args)>=10 && Integer.parseInt(args)<=100)
			{
				tag = 1;
			}
			else
			{
				tag = 0;
			}
		}
		//有小数点时,判断字符串数字是否在10.5到99.5之间
		if(blag == 1 && count == 1 && args.length() == 4)
		{
			if(Integer.parseInt(args.substring(0,position))>=10 && 
			  Integer.parseInt(args.substring(0,position))<=99 &&
			  Integer.parseInt(args.substring(position+1)) == 5)
			{
				tag = 1;
			}
			else
			{
				tag = 0;
			}
			
		}
		return tag;
	}

	void searchStudentSno(String sno)  //按学号查询学生信息
	{  
		int tag = 0;
		int i;
		for (i=0;i<count;i++ )
		{
			if(sno.equals(all_students[i].sno))
			{
				tag = 1;
				break;
			}
		}
		number = tag;
		System.out.println("——查询结果如下:");
		if(tag == 1)
		{
			System.out.println(all_students[i].sno+"  "+all_students[i].sname+"  "+all_students[i].sex+"  "+all_students[i].score);
		}
		else
		{
			System.out.println("       对不起,学号为: "+sno+" 的学生信息不存在!");
		}
	}
	
	void searchStudentSname(String sname)  // 按姓名查询学生信息
	{
		int tag = 0;
		System.out.println("——查询结果如下:");
		for (int i=0;i<count;i++ )
		{
			if(sname.equals(all_students[i].sname))
			{
				System.out.println(all_students[i].sno+"  "+all_students[i].sname+"  "+all_students[i].sex+"  "+all_students[i].score);
				tag = 1;
			}
		}
		if(tag == 0)
		{
			System.out.println("       对不起,姓名为: "+sname+" 的学生信息不存在!");
		}
	}

	void searchStudentScore(String score)  // 按成绩查询学生信息
	{
		int tag = 0;
		System.out.println("——查询结果如下:");
		for (int i=0;i<count;i++ )
		{
			if(score.equals(all_students[i].score))
			{
				System.out.println(all_students[i].sno+"  "+all_students[i].sname+"  "+all_students[i].sex+"  "+all_students[i].score);
				tag = 1;
			}
		}
		if(tag == 0)
		{
			System.out.println("       考了这个成绩的学生信息不存在!");
		}
	}
	
	void modifyStudentSno(String sno,String score)   //修改学生信息
	{
		for (int i=0;i<count;i++ )
		{
			if(sno.equals(all_students[i].sno))
			{
				all_students[i].score = score;
			}
		}
	}
	
	void arrangeALLStudentSno()  //按学号从小到大对所有学生信息进行排列
	{
		int[] a = new int[50];
		for(int i=0;i<count;i++)
		{
			a[i] = Integer.parseInt(all_students[i].sno);
		}
		for(int i=0;i<count-1;i++)  // 按学号对学生信息进行冒泡排序
		{
			for (int j=i+1;j<count;j++)
			{	
				
				if(a[i]>a[j])
				{
					int t = a[i];
					a[i] = a[j];
					a[j] = t;
					Student[] temp = new Student[1];
					temp[0] = all_students[i];
					all_students[i] = all_students[j];
					all_students[j] = temp[0];
				}
			}
		}
	}
	
	void arrangeALLStudentScore()  //按成绩从大到小对所有学生信息进行排列
	{
		float[] a = new float[50];
		for(int i=0;i<count;i++)
		{
			a[i] = Float.parseFloat(all_students[i].score);
		}
		for(int i=0;i<count-1;i++)  // 按成绩对学生信息进行冒泡排序
		{
			for (int j=i+1;j<count;j++)
			{	
				
				if(a[i]<a[j])
				{
					float t = a[i];
					a[i] = a[j];
					a[j] = t;
					Student[] temp = new Student[1];
					temp[0] = all_students[i];
					all_students[i] = all_students[j];
					all_students[j] = temp[0];
				}
			}
		}
	}

	void deleteStudent(String sno)    //按学号删除学生信息
	{

⌨️ 快捷键说明

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