Datamange类:
package com.ls.chapter06_gtx06;
import java.util.Scanner;
public class Datamange {
Scanner scan = new Scanner(System.in);
//输入学生信息:
public Student[] insertData() {
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
Student[] a=new Student[6];
int i=0;
while (i!=5)
{
System.out.println("输入第"+(i+1)+"位学生姓名");
String name=scan.next();
System.out.println("该学生成绩(正整数):");
int score=scan.nextInt();
//对输入学生的成绩进行判断
if(score<0) //成绩为负数重新输入!
{
System.out.println("成绩不可为负数!");
continue;
}
else { //成绩合适则录入且开始下一位学生信息的输入
a[i]=new Student(name,score);
i++;
}
}
return a;
}
//显示所有学生信息:
public void showData(Student[] a) {
if(a!=null) //存在学生信息则显示,否则提示需输入信息
{
for (int i = 0; i < a.length; i++)
if(a[i]!=null)
{System.out.println("第"+(i+1)+"个学生的信息\n"+a[i].getStudent());}
}
else {
System.out.println("暂无信息,请先录入信息!");}
}
//在指定位置处插入学生信息:
public void insertAtArray(Student[] a, Student s, int k) {
if(k<0||k>a.length)
{
System.out.print("插入的次序不合适!");
}
else if(a[a.length-1]!=null){
System.out.println("学生信息已满,不可再添加信息!");
}else {
System.out.println("第"+k+"个位置插入元素s!\n");
for (int i = a.length-1; i >k-1; i--)
{a[i]=a[i-1];}
a[k-1]=s;
}
}
//查询成绩最高的学生信息:
public void scoreMax(Student[] a) {
int le=0;
Student max=new Student();
max=a[0]; //设置max为成绩最高的学生
for (int j= 0; j< a.length; j++) {
if(a[j]!=null)
le++;
}
for (int i = 0; i < le; i++) {
if(max.score<a[i].score)
{
max=a[i];
}
}
System.out.println("成绩最高的学生为:"+max.name+" 成绩为:"+max.score);
}
//显示信息菜单:
public void notice() {
System.out.println("\n-----------欢迎来到成绩管理系统-------------");
System.out.println("*******************************************");
System.out.println(" 1----输入学生成绩");
System.out.println(" 2----显示所有数据");
System.out.println(" 3----在指定位置插入数据");
System.out.println(" 4----显示成绩最高的学生数据");
System.out.println(" 0----退出");
System.out.println("*******************************************");
System.out.println("请输入对应的数字进行操作:");
}
}
StudentTest类:
package com.ls.chapter06_gtx06;
public class StudentTest {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//实例化对象stu
Datamange stu=new Datamange();
//设置对象数组并赋值为空
Student[] a=null;
//
int i=-1;
while(true)
{
stu.notice();
@SuppressWarnings("resource")
Scanner scan=new Scanner(System.in);
i=scan.nextInt();
switch (i)
{ case 1:
a=stu.insertData();
continue;
case 2:
stu.showData(a);
continue;
case 3:
//设置插入的次序
System.out.println("插入的次序为:");
int k=scan.nextInt();
//设置插入的数据
System.out.println("插入的学生姓名为");
String name=scan.next();
System.out.println("成绩为");
int score=scan.nextInt();
//初始化插入的数据
Student s=new Student(name,score);
stu.insertAtArray(a, s, k);
continue;
case 4:
stu.scoreMax(a);
continue;
case 0:
System.out.println("退出系统,感谢您的使用!");
return ;
default:
System.out.println("输入不规范!请输入0-4之间的数字");
continue;
}
}
}
}
Student类:
package com.ls.chapter06_gtx06;
public class Student {
//成员变量
public String name;
public int score;
//构造方法
public Student() {
// TODO 自动生成的构造函数存根
}
public Student(String name,int score) {
this.name=name;
this.score=score;
}
//所有变量setter和getter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setAge(int score) {
this.score = score;
}
//获取学生详细信息的方法:
public String getStudent(){
return "姓名: "+this.name+" 年龄: "+this.score;
}
}