网上很多项目太大了,不仅涉及数据库,还涉及框架,对新手很不友好,想着自己做一个简单项目,用于新人学习使用,不用担心运行不了
整个项目只有一个类和一个主函数
功能:①学生姓名、年龄的创建
②输出创建好的数据,并且通过两个列表,将数据分成只有名字一栏和只有年龄一栏
③通过姓名查询年龄
④通过年龄查询符合年龄的名字
首先创建一个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("不存在符合年龄的名字");
}
}
}
到此就可以运行啦,先看下我们的项目结构
是不是很简单
运行实例:
大家可以根据自己需要修改,有问题可以留言