遍历数组按学号找人,若找到则输出信息,否则输出"查无此人"
- //建立一个类类型的数组,并向这个数组内添加学生信息,包括姓名和年龄等
- **********************学生类**************************
- 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");
- }
- }

遍历数组按学号找人,若找到则输出信息,否则输出"查无此人"的更多相关文章
- JavaScript的使用以及JS常用函数(JS 遍历数组和集合)
JavaScript入门 学习总结 1. 什么是 JavaScript 2. JavaScript 的特点 3. JS的使用 编写位置 基本语法 变量 打印变量 数据类型 innerHTML和inne ...
- js遍历数组的错误方法
for (var index in myArray) { // don't actually do this console.log(myArray[index]); } 缺点: 数组的索引值inde ...
- JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)
String对象(*) length属性:获取字符串的字符个数.(无论中文字符还是英文字符都算1个字符.) charAt(index)方法:获取指定索引位置的字符.(索引从0开始) indexOf(‘ ...
- 给出一个数组A,找出一对 (i, j)使得A[i] <= A[j] (i < j)并且j-i最大
题目:给出一个数组A,找出一对 (i, j)使得A[i] <= A[j] (i <= j)并且j-i最大 ,若有多个这样的位置对,返回i最小的那一对. 最直接的想法就是对于每一个 i 从数 ...
- 前阿里CEO卫哲谈阿里创业经验:如何找人、找钱、找方向?(不同的阶段分别有:时间优先、金额优先、比例优先,不要做平台,太难)
新浪科技李根 整理报道 卫哲现在是御嘉基金的创始合伙人,他另一个更加知名的身份是阿里巴巴(B2B)前CEO,在2006年到2011年的时间里,卫哲见证了阿里巴巴如何利用人才.资本和方向选择一路壮大. ...
- jquery 选择对象随心所欲,遍历数组更是易如反掌
jquery只要研究总结透彻了,那选择对象就会随心所欲,遍历数组更是易如反掌.选对对象,才能“娶妻生子”,才能有后续的数据处理.呵呵遍历对很关键. 怕只怕,学东西浅尝辄止一知半解.本篇特别研究总结jq ...
- 洛谷——P2083 找人
P2083 找人 题目背景 无 题目描述 小明要到他的同学家玩,可他只知道他住在某一单元,却不知住在哪个房间.那个单元有N层(1,2……N),每层有M(1,2……M)个房间. 小明会从第一层的某个房间 ...
- 洛谷 P2083 找人
P2083 找人 题目背景 无 题目描述 小明要到他的同学家玩,可他只知道他住在某一单元,却不知住在哪个房间.那个单元有N层(1,2……N),每层有M(1,2……M)个房间. 小明会从第一层的某个房间 ...
- 集合遍历数组三种常用方式(Collecton和Map)
Collection集合遍历数组的三种方式: 迭代器 foreach(增强for循环) JDK1.8之后的新技术Lambda 迭代器: 方法:public Iterator inerator():获取 ...
随机推荐
- 多线程之Parallel类
Parallel类是对线程的一个抽象.该类位于System.Threading.Tasks名称空间中,提供了数据和任务并行性. Paraller类定义了数据并行地For和ForEach的静态方法,以及 ...
- find命令之xargs,exec
一,find命令之xargs: 在 使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命 令长度有限制,这样 ...
- Interactive pivot tables with R(转)
I love interactive pivot tables. That is the number one reason why I keep using spreadsheet software ...
- Java文件流之练习
1 )将"今年是反法西斯胜利70周年,举国欢庆,所以要放假啦" 字符串 使用文件字符输出流 写入到oldhappy.txt文件中,复写10000行, 要求换行 在文件的开头写入当前 ...
- 主存与Cache的地址映射
最近在复习计算机体系结构,选用的教材是名闻遐迩的<计算机体系结构 量化研究方法 第五版>(Computer Architecture A Quantitative Approach), 关 ...
- NLTK学习笔记(三):NLTK的一些工具
主要总结一下简单的工具:条件频率分布.正则表达式.词干提取器和归并器. 条件分布频率 <自然语言学习>很多地方都用到了条件分布频率,nltk提供了两种常用的接口:FreqDist 和 Co ...
- <iOS 组件与框架> -- UIKit Dynamics
UIKit Dynamics 结合 『iOS 组件与框架 』一书.总结的知识点与demo demo 地址: GitHub地址 一.概述 1.UIKit Dynamics 是 iOS 7 新增的内容.其 ...
- 我的第一个Java程序
我的第一个Java程序: class Test{ public static void main(String[] args) { System.out.println(" ...
- C# DataGridView显示日期格式问题
给DataGridView单元格绑定或者赋值DataTime数据后有时会发现不能显示完整的数据格式,怎么办呢?给出解决方案如下:1.指定整列的显示格式:m_dataGridView.Columns[c ...
- Angular JS的Placeholder功能在IE8/9浏览器中不可用
附上如下代码可正常工作: .directive('placeholder', function($timeout){ var i = document.createElement('input'); ...