遍历数组按学号找人,若找到则输出信息,否则输出"查无此人"
2024-08-22 07:10:40
- //建立一个类类型的数组,并向这个数组内添加学生信息,包括姓名和年龄等
- **********************学生类**************************
- package practise03_1;
- public class Student {
- 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;
- }
- }
- **************************功能类************************
- package practise03_1;
- import java.util.Scanner;
- public class BookDAO {
- Student[] a=new Student[2];
- Scanner sc=new Scanner(System.in);
- //添加学生信息
- public int addStudent(Student stu){
- for(int i=0;i<a.length;i++){
- System.out.println("请输入第"+(i+1)+"个学生的名字、年龄:");
- a[i]=new Student();//实例化一个对象,并赋值给a[i]
- String n =sc.next();
- a[i].setName(n);
- //System.out.println("请输入第"+(i+1)+"个学生的年龄:");
- int age = sc.nextInt();
- a[i].setAge(age);
- }
- for(int i=0;i<a.length;i++){
- System.out.println("第"+(i+1)+"个学生信息为:"+a[i].getName()+" "+a[i].getAge()+"岁");
- }
- return 0;
- }
- //根据名字查找
- public Student findName(String name){
- int k=0;//定义一个标记
- System.out.println("请输入要查询的学生的姓名:");
- String b=sc.next();
- for(int i=0;i<a.length;i++){
- if(a[i].getName().equals(b)){
- System.out.println("该学生的年龄是:"+a[i].getAge()+"岁");
- k=1; //此处做一个标记,记录循环的执行情况
- break;
- }
- // else{
- // System.out.println("查无此人");
- // // break; //这儿出问题,如果第一次没查到,直接就会break,跳出循环了,后面的就查不到了
- // } //那么问题来了,循环内部不能判断值不一致,真查不到的时候,该如何实现输出“查无此人”呢?
- }
- //解决办法是转嫁危机,把值传出去,既然内部不能判断值不一致,至少可以判断值一致的情况,在判断值一致时顺便做个记号,一致时记号改变
- //然后在循环外部判断这个记号,如果记号不变,说明整个循环过程都没有找到值一致的情况,这时候就可以在循环外部输出“查无此人”了
- if(k!=1){ //利用标记情况,在循环外部做判断
- System.out.println("查无此人");
- }
- return null;
- }
- }
- ****************************主类****************************
- package practise03_1;
- public class Test3_1 {
- public static void main(String[] args) {
- BookDAO b=new BookDAO();
- Student stu=new Student();
- b.addStudent(stu);
- b.findName("xiaomao");
- }
- }
最新文章
- [连载]《C#通讯(串口和网络)框架的设计与实现》-3.设备驱动的设计
- if you end up with a boring miserable life
- SandcastleBuilder-生成帮助文档的时候报错...
- 数独检测器:帝国理工C++作业
- RESTful框架调研
- Xamarin.iOS项目编译提示Could not AOT the assembly
- Maven 的安装配置
- bzoj1188: [HNOI2007]分裂游戏
- mongodb两次被黑后......
- JS中Exception处理
- openlayers应用原理
- 单片机成长之路(51基础篇) - 012 MCS-51单片机控制详解–TMOD T2MOD
- 洛谷.2292.[HNOI2004]L语言(Trie DP)
- MySQL(Innodb)索引的原理
- CentOS服务器安装FFmpeg指南
- 高仿360界面的实现(用纯XML和脚本实现)
- (转)二十三种设计模式及其python实现
- JDK 8 - Method Reference 分析
- java严格验证日期是否正确的代码
- android自定义控件(五) 自定义组合控件
热门文章
- linux不需要密码ssh登陆
- netty基础--基本收发
- Python教程(1.1)——配置Python环境
- (原创)Maven+Spring+CXF+Tomcat7 简单例子实现webservice
- 一天搞定CSS:边框border--02
- nodeJS实战:自定义模块与引入,不同模块的函数传递及回调处理,exports与module.exports(基于nodejs6.2.0)
- javaWEB之Servlet
- js实现整数转化为小数
- jquery实现导航栏效果
- PHP代理访问网络资源