java简单学生姓名添加与查询[新手向]

网上很多项目太大了,不仅涉及数据库,还涉及框架,对新手很不友好,想着自己做一个简单项目,用于新人学习使用,不用担心运行不了

整个项目只有一个类和一个主函数

功能:①学生姓名、年龄的创建

           ②输出创建好的数据,并且通过两个列表,将数据分成只有名字一栏和只有年龄一栏

           ③通过姓名查询年龄

           ④通过年龄查询符合年龄的名字

首先创建一个person类

Person:

 
public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

//仅创建get方法:通常情况下,get方法用于获取对象的属性值,而set方法用于设置对象的属性值

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}
创建主函数:
  
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

//添加两个新的方法findAgeByName和findNamesByAge。findAgeByName方法接收一个名字作为参数,然后在personList中查找对应的Person对象,并返回该对象的年龄。findNamesByAge方法接收一个年龄作为参数,然后在personList中查找对应的Person对象,并返回该对象的名字。

    public static int findAgeByName(List<Person> personList, String name) {
        for (Person person : personList) {
            if (person.getName().equals(name)) {
                return person.getAge();
            }
        }
        return -1; // 如果找不到对应的名字,返回-1表示未找到
    }

    public static List<String> findNamesByAge(List<Person> personList, int age) {
        List<String> names = new ArrayList<>();
        for (Person person : personList) {
            if (person.getAge() == age) {
                names.add(person.getName());
            }
        }
        return names;
    }

//接下来是很简单的创建学生数据

    public static void main(String[] args) {

        List<Person> personList = new ArrayList<>();
        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.println("输入名字 (或按 'q' 结束): ");
            String name = scanner.nextLine();
            if (name.equals("q")) {
                break;
            }

            System.out.println("输入年龄: ");
            int age = scanner.nextInt();
            scanner.nextLine(); // 消耗掉输入缓冲区中的换行符

            personList.add(new Person(name, age));
        }

        List<String> nameList = new ArrayList<>();
        List<Integer> ageList = new ArrayList<>();

        System.out.println("新增用户");
        for (Person person : personList) {
            System.out.println("姓名: " + person.getName() + ", 年龄: " + person.getAge());
            nameList.add(person.getName());
            ageList.add(person.getAge());
        }
        System.out.println("用户姓名表:"+nameList);
        System.out.println("用户年龄表"+ageList);

        System.out.println("输入名字查询年龄(或按'q' 来结束): ");
        String nameToFind = scanner.nextLine();
        if (!nameToFind.equals("q")) {
            int age = findAgeByName(personList, nameToFind);
            if (age != -1) {
                System.out.println("名字为 " + nameToFind + " 的年龄是:" + age);
            } else {
                System.out.println("名字不存在");
            }
        }

        System.out.println("输入年龄查询名字");
        int ageToFind = scanner.nextInt();
        scanner.nextLine(); // 消耗掉输入缓冲区中的换行符
        String name = findNamesByAge(personList, ageToFind).toString();
        if (!name.equals("Unknown")) {
            System.out.println("年龄为 " + ageToFind + " 的名字是:" + name);
        } else {
            System.out.println("不存在符合年龄的名字");
        }

    }
}

到此就可以运行啦,先看下我们的项目结构

是不是很简单

运行实例:

大家可以根据自己需要修改,有问题可以留言

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值