import java.util.*;public class StudentManage
{
private static int dex; public static void main(String args[])
{
Student stu[] = new Student[100];
System.out.println("*****************************"+
"   JAVA学生成绩管理系统1.1   "+
"\n*****************************"+
"\n1、增加数据"+
"\n2、查找数据"+
"\n3、删除数据"+
"\n4、清除所有数据"+
"\n5、显示所有学生信息"+
"\n6、按学号对学生进行排序"+
"\n7、修改数据"+
"\n8、统计学生人数"+
"\n9、关于作者"+
"\n0、退出程序");
System.out.print("请选择操作:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
switch(i)
{
case 0: break;
case 1: add(stu);break;
case 2: serch(stu);break;
case 3: delete(stu);break;
case 4: drop(stu);break;
case 5: all(stu);break;
case 6: order(stu);break;
case 7: change(stu);break;
case 8: number(stu);break;
case 9: author();break;
}
}
//增加一个学生信息
public static void add(Student s[])
{
Scanner sc = new Scanner(System.in);
System.out.print("请输入您要增加的学生学号:");
int idn = sc.nextInt();
System.out.print("请输入您要增加的学生姓名:");
String namen = sc.next();
System.out.print("请输入您要增加的学生性别:");
String sexn = sc.next();
System.out.print("请输入您要增加的学生成绩:");
int scoren = sc.nextInt();
Student stu = new Student(idn,namen,sexn,scoren);
s[dex++] = stu;
//System.out.println(stu.getId()+"\t"+stu.getName()+'\t'+stu.getSex()+'\t'+stu.getScore());
//System.out.println(dex);
System.out.println("恭喜你增加成功!");
//stu[40] = sc.next()+'\t'+sc.next()+'\t'+sc.next()+'\t'+sc.next();
}
//查询学生信息
public static void serch(Student s[])
{
//Student s[] = new Student[9];
boolean bool = false;
System.out.print("请选择查询方式:①按学号查询(输入1);②按姓名查询输入(2):");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if(a==1)
{
System.out.print("请输入您要查找的学生的学号:");
int idn = sc.nextInt();
for(int i=0;i<s.length;i++)
{
if(s[i].getId()==idn)
{
System.out.println(s[i]);
bool = true;
break;
}
}
if(bool==false)
System.out.println("对不起,您要查找的学号不存在!");
}
else if(a==2)
{
System.out.print("请输入您要查找的学生的姓名:");
String namen = sc.next();
for(int i=0;i<s.length;i++)
{
if(s[i].getName()==namen)
{
System.out.println(s[i]);
bool = true;
break;
}
}
if(bool==false)
System.out.println("对不起,您要查找的学生不存在!");
}
else
System.out.println("输入错误!");
}
//删除学生信息
public static void delete(Student s[])
{
boolean bool = false;
System.out.print("请输入您要删除的学生的学号:");
Scanner sc = new Scanner(System.in);
int idn = sc.nextInt();
for(int i=0;i<s.length;i++)
{
if(s[i].getId()==idn)
{
s[i] = null;
bool = true;
break;
}
}
if(bool==false)
System.out.println("对不起,您所输入的学号不存在!");
}
//完整删除
public static void  drop(Student s[])
{
for(int i=0;i<s.length;i++)
{
s[i] = null;
}
}
//显示所有学生信息
public static void all(Student s[])
{
System.out.println("学号"+"\t"+"姓名"+"\t"+"性别"+"\t"+"成绩");
for(int i=0;i<s.length;i++)
{
System.out.println(s[i]);
}
}
//按学号排序
public static void  order(Student s[])
{
for (int j = 1; j < s.length;j++)
{
for (int i = 0; i < s.length -1; i++)
{
if (s[i].getId() < s[i + 1].getId())
{
Student temp = s[i];
s[i] = s[i+1];
s[i+1] = temp;
}
}
}
for (int m = 0; m < s.length; m++)
{
System.out.println(s[m]);
}
}
//修改学生信息
public static void change(Student s[])
{
System.out.print("请输入您要修改的学生的学号:");
Scanner sc = new Scanner(System.in);
int idn = sc.nextInt();
for(int i=0;i<s.length;i++)
{
if(s[i].getId()==idn)
{
System.out.print("请输入此学生新的信息:");
System.out.print("请输入学生姓名:");
String namen = sc.next();
System.out.print("请输入学生性别:");
String sexn = sc.next();
System.out.print("请输入学生成绩:");
int scoren = sc.nextInt();
new Student(idn,namen,sexn,scoren);
System.out.println("恭喜你修改成功!");
//s[i] = idn+'\t'+sc.next()+'\t'+sc.next()+'\t'+sc.next();
}
}
}
//显示学生人数
public static void number(Student s[])
{
System.out.println(s.length);
}
//显示作者
public static void author()
{
System.out.print("作者:河畔东");
}

class Student 
{
private int id;
private String name;
private String sex;
private float score;
Student(int id,String name,String sex,float score)
{
this.id = id;
this.name = name;
this.sex = sex;
this.score = score;
//System.out.println(id+"\t"+name+"\t"+sex+"\t"+score);
}
Student()
{
System.out.println(id+"\t"+name+"\t"+sex+"\t"+score);
} void setId(int id)
{
this.id = id;
}
int getId()
{
return id;
}
void setName(String name)
{
this.name = name;
}
String getName()
{
return name;
}
void setSex(String sex)
{
this.sex = sex;
}
String getSex()
{
return sex;
}
void setId(float score)
{
this.score = score;
}
float getScore()
{
return score;
}}

解决方案 »

  1.   

    这个是命令行模式的小模拟系统.....刚学java做做蛮好玩的。不过楼主你为啥贴出来..也不讲哪里要帮忙看
      

  2.   

    你的问题很严重,首先你没有把学生信息存放到数据库中,其次你的Student stu[] = new Student[100];并没有对每一个学生对象初始化,在遍历的时候肯定就会抛空指针异常了。
      

  3.   


    要求是必须得从键盘输入存储到Student数组中,呵呵。。关于数据库那块儿还没学呢
      

  4.   


    Student数组中没数据,呵呵这是问题所在请教大侠怎么解决
      

  5.   

    还是我帮你写吧。import java.util.*;public class StudentManage {
    private static int dex; public static void main(String args[]) {
    Student stu[] = new Student[100];
    for(int i = 0;i<stu.length;i++){
    if(i % 2 == 0){
    stu[i] = new Student(i+1,"name"+(i+1),"man",(i+1));
    }else{
    stu[i] = new Student(i+1,"name"+(i+1),"wom",(i+1));
    }
    }
    System.out.println("*****************************"
    + " JAVA学生成绩管理系统1.1 " + "\n*****************************"
    + "\n1、增加数据" + "\n2、查找数据" + "\n3、删除数据" + "\n4、清除所有数据"
    + "\n5、显示所有学生信息" + "\n6、按学号对学生进行排序" + "\n7、修改数据" + "\n8、统计学生人数"
    + "\n9、关于作者" + "\n0、退出程序");
    System.out.print("请选择操作:");
    Scanner sc = new Scanner(System.in);
    int i = sc.nextInt();
    switch (i) {
    case 0:
    break;
    case 1:
    add(stu);
    break;
    case 2:
    serch(stu);
    break;
    case 3:
    delete(stu);
    break;
    case 4:
    drop(stu);
    break;
    case 5:
    all(stu);
    break;
    case 6:
    order(stu);
    break;
    case 7:
    change(stu);
    break;
    case 8:
    number(stu);
    break;
    case 9:
    author();
    break;
    }
    } // 增加一个学生信息
    public static void add(Student s[]) {
    Scanner sc = new Scanner(System.in);
    System.out.print("请输入您要增加的学生学号:");
    int idn = sc.nextInt();
    System.out.print("请输入您要增加的学生姓名:");
    String namen = sc.next();
    System.out.print("请输入您要增加的学生性别:");
    String sexn = sc.next();
    System.out.print("请输入您要增加的学生成绩:");
    int scoren = sc.nextInt();
    Student stu = new Student(idn, namen, sexn, scoren);
    s[dex++] = stu;
    // System.out.println(stu.getId()+"\t"+stu.getName()+'\t'+stu.getSex()+'\t'+stu.getScore());
    // System.out.println(dex);
    System.out.println("恭喜你增加成功!");
    // stu[40] = sc.next()+'\t'+sc.next()+'\t'+sc.next()+'\t'+sc.next();
    } // 查询学生信息
    public static void serch(Student s[]) {
    // Student s[] = new Student[9];
    boolean bool = false;
    System.out.print("请选择查询方式:①按学号查询(输入1);②按姓名查询输入(2):");
    Scanner sc = new Scanner(System.in);
    int a = sc.nextInt();
    if (a == 1) {
    System.out.print("请输入您要查找的学生的学号:");
    int idn = sc.nextInt();
    for (int i = 0; i < s.length; i++) {
    if (s[i].getId() == idn) {
    System.out.println(s[i]);
    bool = true;
    break;
    }
    }
    if (bool == false)
    System.out.println("对不起,您要查找的学号不存在!");
    } else if (a == 2) {
    System.out.print("请输入您要查找的学生的姓名:");
    String namen = sc.next();
    for (int i = 0; i < s.length; i++) {
    if (s[i].getName() == namen) {
    System.out.println(s[i]);
    bool = true;
    break;
    }
    }
    if (bool == false)
    System.out.println("对不起,您要查找的学生不存在!");
    } else
    System.out.println("输入错误!");
    } // 删除学生信息
    public static void delete(Student s[]) {
    boolean bool = false;
    System.out.print("请输入您要删除的学生的学号:");
    Scanner sc = new Scanner(System.in);
    int idn = sc.nextInt();
    for (int i = 0; i < s.length; i++) {
    if (s[i].getId() == idn) {
    s[i] = null;
    bool = true;
    break;
    }
    }
    if (bool == false)
    System.out.println("对不起,您所输入的学号不存在!");
    } // 完整删除
    public static void drop(Student s[]) {
    for (int i = 0; i < s.length; i++) {
    s[i] = null;
    }
    } // 显示所有学生信息
    public static void all(Student s[]) {
    System.out.println("学号" + "\t" + "姓名" + "\t" + "性别" + "\t" + "成绩");
    for (int i = 0; i < s.length; i++) {
    System.out.println(s[i]);
    }
    } // 按学号排序
    public static void order(Student s[]) {
    for (int j = 1; j < s.length; j++) {
    for (int i = 0; i < s.length - 1; i++) {
    if (s[i].getId() < s[i + 1].getId()) {
    Student temp = s[i];
    s[i] = s[i + 1];
    s[i + 1] = temp;
    }
    }
    }
    for (int m = 0; m < s.length; m++) {
    System.out.println(s[m]);
    }
    } // 修改学生信息
    public static void change(Student s[]) {
    System.out.print("请输入您要修改的学生的学号:");
    Scanner sc = new Scanner(System.in);
    int idn = sc.nextInt();
    for (int i = 0; i < s.length; i++) {
    if (s[i].getId() == idn) {
    System.out.print("请输入此学生新的信息:");
    System.out.print("请输入学生姓名:");
    String namen = sc.next();
    System.out.print("请输入学生性别:");
    String sexn = sc.next();
    System.out.print("请输入学生成绩:");
    int scoren = sc.nextInt();
    new Student(idn, namen, sexn, scoren);
    System.out.println("恭喜你修改成功!");
    // s[i] = idn+'\t'+sc.next()+'\t'+sc.next()+'\t'+sc.next();
    }
    }
    } // 显示学生人数
    public static void number(Student s[]) {
    System.out.println(s.length);
    } // 显示作者
    public static void author() {
    System.out.print("作者:河畔东");
    }
    }class Student {
    private int id;
    private String name;
    private String sex;
    private float score; Student(int id, String name, String sex, float score) {
    this.id = id;
    this.name = name;
    this.sex = sex;
    this.score = score;
    // System.out.println(id+"\t"+name+"\t"+sex+"\t"+score);
    } Student() {
    System.out.println(id + "\t" + name + "\t" + sex + "\t" + score);
    } void setId(int id) {
    this.id = id;
    } int getId() {
    return id;
    } void setName(String name) {
    this.name = name;
    } String getName() {
    return name;
    } void setSex(String sex) {
    this.sex = sex;
    } String getSex() {
    return sex;
    } void setId(float score) {
    this.score = score;
    } float getScore() {
    return score;
    }}
      

  6.   


    呵呵刚学习Java问题很幼稚。。但还是希望帮忙
      

  7.   

    Student stu[] = new Student[100];
    可以声明成arraylist,把Student信息加到里面