要求:
a.控制台提示有哪些功能(输出:
1.增加新用户;2.修改用户;3.删除用户;4.查找用户;5.退出)
b.用户从控制台输入对应的数字(1-5)来进入相应的功能
c.功能描述:
1.增加新用户:创建新的用户对象(姓名和年龄)
姓名不能重复
增加完成后,打印当前所有用户的信息
2.修改用户:用户输入姓名;
根据姓名判断当前是否有该用户;
只能修改用户的年龄;
修改完成后,打印当前所有用户的信息
3.删除用户:用户输入姓名;
根据姓名判断当前是否有该用户;
如果有,提示“是否确认删除(输入Y和N)”
删除完成后,打印当前所有用户的信息
4.查找用户:用户输入姓名;
根据姓名判断当前是否有该用户;
如果有,输出查找的用户信息;
5.退出:退出系统,关闭程序(System.exit(0))
要求:1.必须使用集合(集合类型自选,推荐用List);
2.必须使用泛型
java 新手,只需要控制台操作输入输出,希望前辈们帮一下!
刚入门对类的调用还不是很熟悉!! 做乱了没头绪了!
package test1;
/**
* 用户类
*/
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}
package test1;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 主方法类
*/
public class Test1 {
// 创建键盘输入对象
static Scanner input = new Scanner(System.in);
// 存储用户
static List<User> userList = new ArrayList<>();
public static void main(String[] args) {
try {
// 初始化数据
User e1 = new User();
e1.setName("张三");
e1.setAge(18);
User e2 = new User();
e2.setName("李四");
e2.setAge(21);
userList.add(e1);
userList.add(e2);
while (true) {
System.out.println("=========菜单=========");
System.out.println("1.增加新用户;2.修改用户;3.删除用户;4.查找用户;5.退出)");
System.out.println("请键入对应的数字(1-5)进入相应的功能");
int handle = input.nextInt();
caseMenu(handle);
}
} catch (Exception e) {
throw new RuntimeException("请输入正确的内容!");
}
}
/*
* 选择菜单
*/
private static void caseMenu(int handle) {
try {
s: switch (handle) {
case 1:
// 新增用户
User user = new User();
System.err.print("请输入用户名:");
String name = input.next();
// 判断用户名是否已存在
f: for (User u : userList) {
if (u.getName().equals(name)) {
System.err.println("用户名已存在, 新增失败");
// 直接跳出switch
break s;
}
}
System.err.print("请输入年龄:");
int age = input.nextInt();
// 将新增用户插入List集合
user.setName(name);
user.setAge(age);
userList.add(user);
System.out.println("新增用户成功!");
// 查询所有用户
showAllUsers();
break;
case 2:
// 修改用户
System.err.print("请输入需要修改年龄的用户名:");
String uName = input.next();
// 判断用户名是否已存在
f: for (User u : userList) {
if (u.getName().equals(uName)) {
System.err.print(uName + "年龄修改为: ");
int uAge = input.nextInt();
u.setAge(uAge);
System.err.println("修改成功!");
showAllUsers();
// 直接跳出switch
break s;
}
}
System.err.println("用户名为:" + uName + "的用户不存在, 修改失败!");
break;
case 3:
// 删除用户
System.err.print("请输入要删除的用户名:");
String dName = input.next();
// 判断用户名是否已存在
f: for (User u : userList) {
if (u.getName().equals(dName)) {
System.err.print("确定要删除\"" + dName + "\"用户吗?(y/n)");
String isYes = input.next();
if ("y".equals(isYes)) {
userList.remove(u);
System.err.println("删除成功!");
} else {
System.err.println("删除操作取消..");
}
showAllUsers();
// 直接跳出switch
break s;
}
}
System.err.println("用户名为:" + dName + "的用户不存在, 删除失败!");
break;
case 4:
// 查找用户
System.err.print("请输入要查找的用户名:");
String sName = input.next();
// 判断用户名是否已存在
f: for (User u : userList) {
if (u.getName().equals(sName)) {
boolean flag = userList.contains(u);
System.err.println("用户名: " + u.getName() + "\t年龄: " + u.getAge());
// 直接跳出switch
break s;
}
}
System.err.println("用户名为:" + sName + "的用户不存在, 查询失败!");
break;
case 5:
// 系统退出
// 关闭键盘输入流
input.close();
System.exit(0);
break;
default:
break;
}
} catch (Exception e) {
throw new RuntimeException("请输入正确的内容!");
}
}
/*
* 查询所有用户
*/
private static void showAllUsers() {
for (User u : userList) {
System.out.println("姓名: " + u.getName() + "\t年龄: " + u.getAge());
}
}
}
如果是java命令行的话, 这个就是让你设计一个class, 然后总的信息放到一个list或者map里, 然后根据一个while(1)的条件判断判断一下执行语句就可以