Admin
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
/**
* Created by Administrator on 2017/1/12.
*/
/*步骤解读:1. 创建三个类,Admin.XXGL,XSGL;
步骤解读:2. 首先在XXGL类中添加属性,并且封装他们,添加构造方法,再给它们加上get/set方法。
步骤解读:3.设置功能类,设置功能:增删改查;(XSGL);
步骤解读:4.在Admin类中添加全局变量Scanner sc=new String(System.in);扑捉键盘;
步骤解读 5.在main方法里创建对象调用XSGL的ArrayList 集合;
步骤解读:6.设置引用键盘输入流;BufferedReader sr = new BufferedReader(new InputStreamReader(System.in));可以全局用Scanner
步骤解读:7.while循环主界面语句,添加if...else语句,再在if...else语句中嵌套if...else语句用equals语句进行字符串判断;(switch效果更佳)
步骤解读:8若后面无程序进行,可用return 结束。建议用System.exit(0);语句进行结束;*/
//步骤解读:未完善:有可能死循环,并且输入错误直接跳出程序,留待以后能力提高再码;
public class Admin {
public static void main(String[] args) throws Exception {
XSGL sxl = new XSGL();
Scanner sc = new Scanner(System.in);
BufferedReader sr = new BufferedReader(new InputStreamReader(System.in));//输入流
while (true) {//while循环
System.err.println("欢迎来到学生管理系统" + "\n" + "请按序列号进行选择");
System.out.println("1.添加学生信息");
System.out.println("2.查询学生信息");
System.out.println("3.删除学生信息");
System.out.println("4.更改学生信息");
System.out.println("0.退出系统");
// int str = sc.nextInt();//接收
if (sc.hasNextInt()) {
String str = sc.next();
if (str.equals("1") || (str.equals("2") || (str.equals("3") || (str.equals("4") || (str.equals("0")))
))) {
switch (str) {
case "1": {
System.out.println("请输入学号");
// int id = Integer.parseInt(sr.readLine());
// boolean id= sc.hasNextInt();
//先用布尔类型的hasNextInt来判断,再用int.hasNextInt接收
//用int id
if (sc.hasNextInt()) {
int id = sc.nextInt();
System.out.println("请输入姓名");
String name = sr.readLine();
System.out.println("请输入性别");
String sex = sr.readLine();
XXGL sx = new XXGL(id, name, sex);
sxl.addxx(sx);
} else {
System.out.println("输入有误,请输入整数型学号");
continue;
}
}
case "2": {
System.out.println("请输入学号");
if (sc.hasNextInt()) {
int id = sc.nextInt();
// int id = Integer.parseInt(sr.readLine());
sxl.xsgl(id);
} else {
System.out.println("输入有误!请输入整数型数字");
break;
}
}
case "3": {
System.out.println("请输入学号");
if (sc.hasNextInt()) {
int id = sc.nextInt();
// int id = Integer.parseInt(sr.readLine());//谨记integer.parseint
sxl.delxs(id);
} else {
System.out.println("输入有误!请输入整数型数字");
break;
}
}
case "4": {
System.out.println("请输入学号");
if (sc.hasNextInt()) {
int id = sc.nextInt();
// int id = Integer.parseInt(sr.readLine());//返回指定字符在字符串中的索引位置
System.out.println("请输入姓名"); // 比如
// String name = sr.readLine(); //String str = "abc";
String name = sc.next();
// String in = String.valueOf(sr.readLine()); // int index = str.valueOf('a');
sxl.idxg(id, name);
} else {
System.out.println("请输入整数型数字");
break;
}
}
case "0":
System.out.println("谢谢使用,正在关闭Loading...");
System.exit(0);
}
} else {
System.err.println("无此选项,建议你抽根烟冷静下o(∩_∩)o !");
}
} else {
System.err.println("请输入整数型序列号");
break;
}
}
}
}
XXGL
/**
* Created by Administrator on 2017/1/12.
*/
/*
1.添加学生
2.修改学生
3.删除学生
4.根据学生姓名进行模糊查询
1.使用XML保存数据
2.使用dom4j操作XML
*/
//属性
class XXGL {
private String name;
private String sex;
private int id;
//构造方法,与类同名
XXGL(int id, String sex, String name) {
this.name = name;
this.sex = sex;
this.id = id;
}
//get无返回值
String getName() {
return name;
}
String getSex() {
return sex;
}
int getId() {
return id;
}
}
XSGL
import java.util.ArrayList;
import java.util.Scanner;
/**
* Created by Administrator on 2017/1/12.
*/
//功能
class XSGL {
private ArrayList sum = null;
Scanner sc = new Scanner(System.in);
//构造方法
XSGL()
{ //学生信息添加管理
sum = new ArrayList();
}
//普通方法:修饰符可以省略,main方法的XXGL ,sx传入参数,添加到ArrayList集合中
//添加
void addxx(XXGL XXGL) {
sum.add(XXGL);
System.err.println("添加新信息成功!");
}
//查询
void xsgl(int id) {//把参数传进来,在后面的equals进行比较
int i;
for (i = 0; i < sum.size(); i++) {
XXGL sx = (XXGL) sum.get(i);//把i从集合中取出
if (sx.getId() == (id)) {//Int对比
System.err.println("该学生的信息如下:");
System.err.println("学生学号:" + sx.getId());
System.err.println("学生名称:" + sx.getName());
System.err.println("学生性别:" + sx.getSex());
break;
}
}
if (i == sum.size()) {
//如果i还在集合中,那么就说明没被取出来做对比。那就是没有这个学员
System.err.println("对不起无此学生信息!");
}
}
//修改
void idxg(int id, String name) {//传参
int i;
//遍历集合
for (i = 0; i < sum.size(); i++) {
XXGL sx = (XXGL) sum.get(i);//将需要对比的数据从集合提取出来
//对比时注意==与 equals的区别
if (sx.getId() == (id) || sx.getName().equals(name)) {
}
System.err.println("学号修改成功!");
break;
}
if (i == sum.size())//如果集合有这个id或者名字就返回无学员提示
{
System.err.println("对不起无此学员!");
}
}
//删除
void delxs(int id) {
int i;
if (sum.size() == 0) {
System.err.println("无此学员!");
}
for (i = 0; i < sum.size(); i++) {//循环遍历集合
XXGL sx = (XXGL) sum.get(i);
if (sx.getId() == (id)) {
sum.remove(i);//删除
System.err.println("删除信息成功!");
break;
}
}
if ((i == sum.size()) && (sum.size() != 0)) {
System.err.println("对不起无此学员!");
}
}
}