?? studentsystem.java
字號:
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++) //判斷有幾個小數(shù)點
{
if(args.charAt(i) == '.')
{
count++;
}
}
/*在'.'有一個或沒有、'.'不在字符串的首部、'.'不在字符串的末尾的情況下,
如果有'.',定位'.'的位置,判斷除'.'之外的字符串的各個字符是否為數(shù)字字符*/
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;
}
}
//判斷除'.'之外的字符串的各個字符是否為數(shù)字字符
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) //沒小數(shù)點時,判斷字符串數(shù)字是否在0到100之間
{
if(Integer.parseInt(args)>=10 && Integer.parseInt(args)<=100)
{
tag = 1;
}
else
{
tag = 0;
}
}
//有小數(shù)點時,判斷字符串數(shù)字是否在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 + -