• 遍历数组按学号找人,若找到则输出信息,否则输出"查无此人"


    1. //建立一个类类型的数组,并向这个数组内添加学生信息,包括姓名和年龄等
    2. **********************学生类**************************
    3. package practise03_1;
    4. public class Student {
    5. private String name;
    6. private int age;
    7. public String getName() {
    8. return name;
    9. }
    10. public void setName(String name) {
    11. this.name = name;
    12. }
    13. public int getAge() {
    14. return age;
    15. }
    16. public void setAge(int age) {
    17. this.age = age;
    18. }
    19. }
    20. **************************功能类************************
    21. package practise03_1;
    22. import java.util.Scanner;
    23. public class BookDAO {
    24. Student[] a=new Student[2];
    25. Scanner sc=new Scanner(System.in);
    26. //添加学生信息
    27. public int addStudent(Student stu){
    28. for(int i=0;i<a.length;i++){
    29. System.out.println("请输入第"+(i+1)+"个学生的名字、年龄:");
    30. a[i]=new Student();//实例化一个对象,并赋值给a[i]
    31. String n =sc.next();
    32. a[i].setName(n);
    33. //System.out.println("请输入第"+(i+1)+"个学生的年龄:");
    34. int age = sc.nextInt();
    35. a[i].setAge(age);
    36. }
    37. for(int i=0;i<a.length;i++){
    38. System.out.println("第"+(i+1)+"个学生信息为:"+a[i].getName()+" "+a[i].getAge()+"岁");
    39. }
    40. return 0;
    41. }
    42. //根据名字查找
    43. public Student findName(String name){
    44. int k=0;//定义一个标记
    45. System.out.println("请输入要查询的学生的姓名:");
    46. String b=sc.next();
    47. for(int i=0;i<a.length;i++){
    48. if(a[i].getName().equals(b)){
    49. System.out.println("该学生的年龄是:"+a[i].getAge()+"岁");
    50. k=1;  //此处做一个标记,记录循环的执行情况
    51. break;
    52. }
    53. // else{
    54. // System.out.println("查无此人");
    55. // // break; //这儿出问题,如果第一次没查到,直接就会break,跳出循环了,后面的就查不到了
    56. // } //那么问题来了,循环内部不能判断值不一致,真查不到的时候,该如何实现输出“查无此人”呢?
    57. }
    58. //解决办法是转嫁危机,把值传出去,既然内部不能判断值不一致,至少可以判断值一致的情况,在判断值一致时顺便做个记号,一致时记号改变
    59. //然后在循环外部判断这个记号,如果记号不变,说明整个循环过程都没有找到值一致的情况,这时候就可以在循环外部输出“查无此人”了
    60. if(k!=1){ //利用标记情况,在循环外部做判断
    61. System.out.println("查无此人");
    62. }
    63. return null;
    64. }
    65. }
    66. ****************************主类****************************
    67. package practise03_1;
    68. public class Test3_1 {
    69. public static void main(String[] args) {
    70. BookDAO b=new BookDAO();
    71. Student stu=new Student();
    72. b.addStudent(stu);
    73. b.findName("xiaomao");
    74. }
    75. }
  • 相关阅读:
    html php插入百度地图定位
    thinkphp验证功能(部分)
    thinkphp用ajax注册及检测个人见解
    文件系统处理_下
    文件系统处理
    jQuery ajax
    jquery(复选框全选)
    jquery(鼠标)
    找房子(数据库应用)
    php基础题
  • 原文地址:https://www.cnblogs.com/yangyi9343/p/java.html
Copyright © 2020-2023  润新知