项目题:
题目写一个数组的操作程序
主菜单:对姓名数组的增删改查的4个功能,程序有退出
数组:保证数组中的元素是不重复的功能:
数组添加数组删除数组修改数组查询退出
查询,你想怎么查,全量查询?
代码参考如下:
public class Test {
public static Scanner scanner = new Scanner(System.in);
public static String names[] = new String[100];
public static int n = 0;
public static void main(String[] args) {
int option;
while (true) {
menu();
option = scanner.nextInt();
switch (option) {
case 1:
insert();
break;
case 2:
delete();
break;
case 3:
update();
break;
case 4:
select();
break;
case 0:
return;
default:
System.out.println("请重新输入操作~~");
}
}
}
public static void menu() {
System.out.println("1. 添加");
System.out.println("2. 删除");
System.out.println("3. 修改");
System.out.println("4. 查询");
System.out.println("0. 退出");
System.out.println("请输入操作:");
}
public static void insert() {
System.out.println("请输入新名字");
scanner.nextLine();
String name = scanner.next();
if (isExistName(name)) {
System.out.println("重名~~");
return;
}
names[n] = name;
n++;
}
public static void delete() {
System.out.println("请输入要删除的名字");
scanner.nextLine();
String name = scanner.next();
int i = 0;
for (; i < n; i++) {
if (name.equals(names[i])) {
break;
}
}
if (i == n) {
System.out.println("未找到~~");
return;
}
for (; i < n; i++) {
names[i] = names[i + 1];
}
n--;
}
public static void update() {
System.out.println("请输入名字");
scanner.nextLine();
String name = scanner.next();
for (int i = 0; i < n; i++) {
if (name.equals(names[i])) {
update(i);
return;
}
}
System.out.println("未找到~~");
}
public static void update(int i) {
while (true) {
System.out.println("请输入新名字");
String newName = scanner.next();
if (isExistName(newName)) {
System.out.println("名字重复~~");
} else {
names[i] = newName;
break;
}
}
}
public static void select() {
for (int i = 0; i < n; i++) {
System.out.println(names[i]);
}
}
// 判断名字是否存在
public static boolean isExistName(String name) {
for (int i = 0; i < n; i++) {
if (name.equals(names[i])) {
return true;
}
}
return false;
}
}