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; } } }
阅读更多
相关文章推荐
- java--面向对象综合案例二(图书馆)
- Java面向对象-String类综合案例
- [置顶] Java面向对象-String类综合案例
- 面向对象的程序(http://blog.csdn.net/qi_jianzhou/archive/2006/03/31/646124.aspx)
- Java-第十四章-带参的方法(二)-添加Search方法(),实现学生姓名查找
- Java学习笔记17(面向对象十:综合案例)
- java关键字Transient 转自:http://blog.csdn.net/flynetcn/archive/2008/03/03/2142020.aspx
- C#.net对Access数据库做的添加、删除、查找、修改的例子
- java annotation---摘自http://blog.csdn.net/numenZQ/archive/2007/06/17/1654827.aspx
- JAVA中数据库操作的各种方式与设计模式的应用(http://blog.csdn.net/wangyihust/archive/2006/01/14/579613.aspx)
- c#读取并修改App.config文件实例(转载:http://blog.csdn.net/abuhome/archive/2010/01/13/5184467.aspx)
- JAVA连接ORACLE的基本步骤,写在这里做备忘 (参考了http://student.csdn.net/space.php?uid=412909&do=blog&id=33102)
- 如何将Web应用打包成.war文件? 转自:http://blog.csdn.net/code_JAVA/archive/2008/05/19/2457749.aspx
- java中的数组与集合的排序---摘抄自:http://blog.csdn.net/jonathan_q_bo/archive/2005/11/29/539043.aspx
- Java经典好资源-[http://blog.csdn.net/miaogang]
- 给CSDN BLOG添加QQ天气预报的正确方法
- 面向程序员的数据库访问性能优化法则 http://blog.csdn.net/yzsind/archive/2010/12/06/6059209.aspx
- JSP中JAVA ,html/Javascript 交互-[http://blog.csdn.net/gm_jing]
- 是学生就COPY一下,现在没用,将来一定要用(转自http://blog.csdn.net/feiluoxue/archive/2009/04/06/4052734.aspx#FeedBack)
- (java:学习)voctor类方法中的疑惑(操作元素的方法)http://blog.csdn.net/inber