--------------------------数据类--------------------------------------------------
**
* 此类定义了student类中用到的数据。
*//**
* @author kaikai
* @version 1.0 2--8-06-13
*
*/
public class Information {
private String name;
private String sex;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString() {
return "" + name + " " + age + " " + sex;
}
}---------------------------------测试类----------------------------------
/**
* 这个类实现了对学生信息的管理的入口,此系统所有信息将在内存创建,关闭即丢失。首先请您添加信息。
* 2--8-06-13可把我给累坏了。实现了三个方法了,还有两个,明天做。
*//**
* @author kaikai
* @version 1.0 2--8-06-13
* @since JDK1.6
*
*/
public class StudentManage {
public static void main(String[] args) {
new InfoManage();
}
}
程序有毛病啊。查找,修改都不是很好。里面有好几条。但是说找不到。。希望给看看。。还要好多bug没修正,主要是方法还没实现,bug没心情啊。
希望给调试下。看看哪里不完善。谢谢了。。处理类另发啊。说太长了。
**
* 此类定义了student类中用到的数据。
*//**
* @author kaikai
* @version 1.0 2--8-06-13
*
*/
public class Information {
private String name;
private String sex;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString() {
return "" + name + " " + age + " " + sex;
}
}---------------------------------测试类----------------------------------
/**
* 这个类实现了对学生信息的管理的入口,此系统所有信息将在内存创建,关闭即丢失。首先请您添加信息。
* 2--8-06-13可把我给累坏了。实现了三个方法了,还有两个,明天做。
*//**
* @author kaikai
* @version 1.0 2--8-06-13
* @since JDK1.6
*
*/
public class StudentManage {
public static void main(String[] args) {
new InfoManage();
}
}
程序有毛病啊。查找,修改都不是很好。里面有好几条。但是说找不到。。希望给看看。。还要好多bug没修正,主要是方法还没实现,bug没心情啊。
希望给调试下。看看哪里不完善。谢谢了。。处理类另发啊。说太长了。
------------------------处理类-----------------------------------------------
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Scanner;/**
* 实现对信息的存储,添加,修改,删除等功能。输入三次无效,将自动退出
*/
/**
*
* @author kaikai
*
*/
public class InfoManage {
List<Information> list = new ArrayList<Information>();
// Information infor = new Information();
static int err = 0;
private FileInputStream fis;
private FileOutputStream fos;
private BufferedInputStream br;
/**
* 静态加载信息
*/
static {
System.out
.println("------------------------------------------学生信息管理系统--------------------------------------------------------");
System.out
.println("----------------------------------------------------------注:此系统所有信息将在内存创建,关闭即丢失。首先请您添加信息。---");
System.out
.println("---------------------------------------------------------------------------------------------------------------");
} public InfoManage() {
test();
} /**
* 主菜单
*/
private void test() {
if (err >= 3) {
System.out.println("您输入的错误超过三次,-bye-bye-");
System.exit(0);
} else {
try {
System.out
.println(" 开始选择: 全部信息(0)| 添加请按(1) | 删除请按(2) | 修改请按(3) | 查找请按(4) | 关闭请按(5)");
System.out
.println("---------------------------------------------------------------------------------------------------------------");
System.out
.println(" (*^__^*) 嘻嘻……kaikai服务**");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
if (num == 0) {
print();
} else if (num == 1) {
System.out.println("您选择的是添加用户信息功能");
add();
} else if (num == 2) {
System.out
.println("您选择的是删除用户信息功能,一旦删除将永远消失,确定删除请按(1)退出请按(0)");
if (scanner.nextInt() == 1) {
delete();
} else {
test();
}
} else if (num == 3) {
System.out.println("您选择的是修改功能!");
update();
} else if (num == 4) {
System.out.println("您选择的是查找功能!");
search();
} else if (num == 5) {
System.out.println("您选择的是关闭功能!");
stop();
} else {
System.out.println("输入有误,-bye-bye-");
err++;
System.exit(0);
}
} catch (InputMismatchException e) {
System.out.println(" warning: 请输入数字,谢谢合作!\n ");
err++;
test();
}
}
} /**
* 打印功能,打印所有人的信息
*/
private void print() { if (list.size() > 0) {
System.out.println("学生信息详细表:");
System.out.println("现在共有" + list.size() + "个学生的信息"); for (int i = 0; i < list.size(); i++) {
Information b = (Information) list.get(i);
System.out.println(b.toString());
}
} else {
System.out.println("当前没有任何信息!");
}
System.out.println("----------继续管理(Y/N)-----------");
Scanner scanner = new Scanner(System.in);
if (scanner.next().toUpperCase().equals("Y")) {
test(); } else {
System.out.println("谢谢使用,-bye-bye-");
System.exit(0);
}
} /**
* 添加功能
*/
private void add() {
Information infor = new Information();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入姓名:");
infor.setName(scanner.next());
System.out.println("请输入年龄(0--120):");
infor.setAge(scanner.nextInt());
System.out.println("请输入性别(男/女):");
infor.setSex(scanner.next());
System.out.println("您输入的学生信息是:" + infor.toString());
System.out.println("----确认添加请按(1) | 重新输入请按(2)----"); if (scanner.nextInt() == 1) {
list.add(infor);
} else if (scanner.nextInt() == 2) {
test();
}
System.out.println("添加成功!");
System.out.println("----继续管理(Y/N)----"); if (scanner.next().toUpperCase().equals("Y")) {
test(); } else {
System.out.println("谢谢使用,-bye-bye-");
System.exit(0);
}
} /**
* 删除功能
*/
private void delete() {
if (list.size() < 1) {
System.out.println("------对不起,还没有信息!请添加-----");
System.out.println("--------------------------------");
test();
} else {
System.out.println("----当前所有信息如下:");
System.out.println("|姓名 | 年龄 | 性别|");
for (Information in : list) {
System.out.println(in + " ");
}
System.out.println("您现在所在位置:删除板块!");
System.out.println("请输入您要删除人的名字");
Scanner scanner = new Scanner(System.in);
String str = scanner.next(); for (int i = 0; i < list.size(); i++) {
Information b = (Information) list.get(i);
if (b.getName().equals(str)) {
System.out.println("----找到此人,确认删除(Y/N)----");
if (scanner.next().equals("y")) {
list.remove(i);
System.out.println("---删除成功!---");
test();
} else {
test();
}
} else {
System.out.println("没有此人,");
}
}
/*
* for (Information in : list) { System.out.println(in + " ");
* System.out.println(" 没有数据了。"); }
*/
}
} private void update() {
if (list.size() < 1) {
System.out.println("---warning: -对不起,还没有信息!请添加-----");
System.out.println("--------------------------------");
test();
} else {
System.out.println("请输入要修改的名字!");
Scanner scanner = new Scanner(System.in); for (int i = 0; i < list.size(); i++) {
Information b = list.get(i);
if (b.getName().equals(scanner.next())) {
System.out.println("找到你要修改的信息,确定修改么(Y/N)");
if (scanner.next().toUpperCase().equals("Y")) {
// 昨晚上写到这里了,,更新方法。
System.out.println("请输入您修改后的名字:");
b.setName(scanner.next());
System.out.println("请输入您修改后的年龄(0--120):");
b.setAge(scanner.nextInt());
System.out.println("请输入性别(男/女):");
b.setSex(scanner.next());
System.out.println("确认修改请按(1) | 重新修改请按(2)");
if (scanner.nextInt() == 1) {
list.add(b);
} else if (scanner.nextInt() == 2) {
test();
}
System.out.println("修改成功!");
System.out.println("----继续管理(Y/N)----");
if (scanner.next().toUpperCase().equals("Y")) {
test(); } else {
System.out.println("谢谢使用,-bye-bye-");
System.exit(0);
}
} else {
test();
}
}
}
}
} private void search() {
if (list.size() < 1) {
System.out.println("------对不起,还没有信息!请添加-----");
System.out.println("--------------------------------");
test();
} else {
System.out.println("请输入您要查询的姓名:");
Scanner scanner = new Scanner(System.in);
String str = scanner.next(); for (int i = 0; i < list.size(); i++) {
Information b = (Information) list.get(i);
if (b.getName().equals(str)) {
System.out.println("您查找的人的信息如下:" + b.toString());
System.out.println("----继续管理(Y/N)----");
if (scanner.next().toUpperCase().equals("Y")) {
test(); } else {
System.out.println("谢谢使用,-bye-bye-");
System.exit(0);
}
} else {
System.out.println("没有此人,继续操作(Y/N)");
if (scanner.next().toUpperCase().equals("Y")) {
test();
} else {
stop();
}
}
}
}
} private void stop() { System.out.println("----确认离开(Y/N)!----");
Scanner scanner = new Scanner(System.in); if (scanner.next().toUpperCase().equals("Y")) {
System.out.println("谢谢使用,-bye-bye-");
System.exit(0);
} else {
test();
}
}}
用main写的学生信息管理系统
(#@……%(@……%(@……#(%……@#
LZ很有钻研精神啊,勇气可嘉
可惜代码发的太乱了实在,我懒得看
难道你不知道可以插入java代码的么?
回复的文本框上面一排第七个
再靠下
1.修改操作:在list.add之前要先list.remove(i),不是修改是又添加了一条...
2.查询操作:lz应该明白为什么list.size()>1时,就会出现查询不到此人...
原因:比如list中有两条记录,list中0位置:haha;1位置:haha1;当你调用查找方法时,每次循环都是从0开始找,然后list.get(i)比较,这样我找1位置的haha1,肯定找不到...
private void search() {
if (list.size() < 1) {
System.out.println("------对不起,还没有信息!请添加-----");
System.out.println("--------------------------------");
test();
} else {
System.out.println("请输入您要查询的姓名:");
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
int i = 0;
for (; i < list.size(); i++) {
Information b = (Information) list.get(i);
if (b.getName().equals(str)) {
System.out.println("您查找的人的信息如下:" + b.toString());
return;
} else {
continue;
}
}
if(i == list.size())
System.out.println("查无此人!");
}
}
我在C++的代码中经常见到类似的,我好像是还做过。
我现在正在做图书管理系统(老师让做的),现在用GUI,连接数据库,
等JSP学完了。还要用JSP重来一遍。
楼主,你的钻研的精神可是比我强多了。
不好意思,你的代码有点多,我没看。
private void update() {
if (list.size() < 1) {
System.out.println("---warning: -对不起,还没有信息!请添加-----");
System.out.println("--------------------------------");
test();
} else {
System.out.println("请输入要修改的名字!");
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
int i = 0;
for (; i < list.size(); i++) {
//System.out.println(i);
Information b = (Information)list.get(i);
if (b.getName().equals(str)){
System.out.println("找到你要修改的信息,确定修改么(Y/N)");
if (scanner.next().toUpperCase().equals("Y")) {
// 昨晚上写到这里了,,更新方法。
System.out.println("请输入您修改后的名字:");
b.setName(scanner.next());
System.out.println("请输入您修改后的年龄(0--120):");
b.setAge(scanner.nextInt());
System.out.println("请输入性别(男/女):");
b.setSex(scanner.next());
System.out.println("确认修改请按(1) | 重新修改请按(2)");
if (scanner.nextInt() == 1) {
list.remove(i);
list.add(i,b);
} else if (scanner.nextInt() == 2) {
test();
}
System.out.println("修改成功!");
return;
}
else
return;
}
else
continue;
}
if(i == list.size())
System.out.println("查无此人,让我怎么改!");
}
}
这哪里是Java,简直就是C版本的Java
用的也是Java的工具包,而不是OO
可惜,我也不太了解,不过我个人认为写一个学生管理系统,学生一个类,包含基本数据
然后下面是一堆方法,用来对数据进行管理
如果可以就进行策略设计
添加你想要的,让程序更有弹性而这个既然是系统,那么还应有个系统类
这样在系统类里定义一些GUI或者Console的show方法,之后就可以进入main了
并且将人的一些行为独立出来,比如study作为一个行为独立出来,用接口的形式进行独立,然后建立一个studentStudy类实现这个接口
将学习这个动作委托给它
这个没有错。只是不能多次调试而已,只能调试一遍,因为你有没有写可以让循环,所以你多次调试就会出错。明白?