您的位置:首页 > 编程语言 > Java开发

java面向对象综合案例---学生姓名的添加、查找、修改,之前写过(https://blog.csdn.net/qq_36639124/article/details/80358807)大同小异

2018-05-18 14:49 411 查看
/**
* 学生类
* @author Administrator
*
*/
public class StudentSys {
// 创建一个长度为10的学生姓名数组
String[] names = new String[10];

/**
* 添加姓名
* @param names 需要添加的姓名
* @return 0 添加姓名成功, 1 名额已满
*/
public int addNames(String name){
for (int i = 0; i < names.length; i++) {
if (names[i] == null) {
names[i] = name;
return 0;
}
}

return 1;
}

/**
* 查找姓名是否在姓名数组中
* @param names 需要查找的姓名
* @return 名字在数组中的下标,如果名字不在数组中,则返回-1
*/
public int searchName(String name){
for(int i = 0; i < names.length; i++){
if (names[i] != null && names[i].equals(name)) {
return i;
}
}

return -1;
}

/**
* 修改学生姓名
* @param oldName 需要的修改的学生的姓名
* @param newName 新的姓名
* @return -1 没有该学生, 0 修改成功
*/
public int updateName(String oldName, String newName){
// 查找需要被修改的学生的姓名是否存在
int index = searchName(oldName);

if (index == -1) {// 不存在
return -1;
}else {// 存在
// 将新名字赋给老名字所在的位置
names[index] = newName;
System.out.println("找到并修改成功!");
return 0;
}
}

/**
* 显示所有添加的姓名,如果没有姓名的则不显示
*/
public void showNames(){
for (String name : names) {
if (name != null) {// 有姓名再输出
System.out.print(name + "\t");
}
}
}
}
import java.util.Scanner;

/**
* 测试学生类
* @author Administrator
*
*/
public class TestStudentSys {
public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);
// 创建学生对象
StudentSys stuSys = new StudentSys();
do {
System.out.print("请输入学生姓名:");
String name = scanner.next();
// 判断添加的姓名是否已经存在
int index = stuSys.searchName(name);
if (index == -1) {// 不存在
// 往学生姓名列表中添加学生姓名
int res = stuSys.addNames(name);
if (res == 0) {// 添加成功
System.out.println("添加成功!");
}else {// 学生名额已满
System.out.println("名额已满");
break;
}
}else {// 存在
System.out.println("输入的姓名已存在!");
}
// 是否继续添加学生姓名
System.out.print("继续输入吗?(y/n):");
String flag = scanner.next();
if ("n".equals(flag)) {// 不继续添加
break;
}
} while (true);

System.out.print("\n");
System.out.println("***********************");
System.out.println("\t学生姓名列表\t");
System.out.println("***********************");
// 显示学生姓名列表
stuSys.showNames();

System.out.print("\n");
System.out.println("请选择操作:1.查找学生\t2.修改学生");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.print("\n");
System.out.print("请输入要查找的学生姓名:");
String name = scanner.next();
// 根据姓名查找学生,并返回学生所在位置的下标
int index = stuSys.searchName(name);
System.out.println("*******查找结果*******");
if (index == -1) {// 没 找到
System.out.println("没有该学生!");
}else{// 找到了
System.out.println("找到了!在第" + (index + 1) + "个位置");
}
break;
case 2:
System.out.print("\n");
System.out.print("请输入要修改的学生姓名:");
String oldName = scanner.next();
System.out.print("请输入新的学生姓名:");
String newName = scanner.next();

System.out.println("*******修改结果*******");
stuSys.updateName(oldName, newName);
System.out.println("\t学生姓名列表\t");
stuSys.showNames();
break;
default:
break;
}

}
}



阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐