Java的面向对象特性练习题:编写一个宠物商店程序
时间: 2024-05-11 20:19:43 浏览: 112
好的,下面是一个简单的宠物商店程序的代码,供您参考:
```java
import java.util.ArrayList;
import java.util.Scanner;
class Pet {
private String name;
private int age;
private String type;
public Pet(String name, int age, String type) {
this.name = name;
this.age = age;
this.type = type;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getType() {
return type;
}
}
class PetStore {
private ArrayList<Pet> pets = new ArrayList<>();
public void addPet(Pet pet) {
pets.add(pet);
}
public void listPets() {
System.out.println("宠物商店目前有以下宠物:");
for (Pet pet : pets) {
System.out.println(pet.getName() + "(" + pet.getType() + "," + pet.getAge() + "岁)");
}
}
}
public class PetShop {
public static void main(String[] args) {
PetStore store = new PetStore();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入要进行的操作:");
System.out.println("1. 添加宠物");
System.out.println("2. 查看宠物列表");
System.out.println("3. 退出程序");
int choice = scanner.nextInt();
scanner.nextLine(); // 消耗多余的换行符
switch (choice) {
case 1:
System.out.println("请输入宠物的名字:");
String name = scanner.nextLine();
System.out.println("请输入宠物的年龄:");
int age = scanner.nextInt();
scanner.nextLine(); // 消耗多余的换行符
System.out.println("请输入宠物的种类:");
String type = scanner.nextLine();
Pet pet = new Pet(name, age, type);
store.addPet(pet);
System.out.println("已添加宠物:" + name);
break;
case 2:
store.listPets();
break;
case 3:
System.out.println("程序已退出。");
System.exit(0);
default:
System.out.println("输入无效,请重新输入。");
}
}
}
}
```
这个程序包含两个类:`Pet` 和 `PetStore`。`Pet` 类代表一个宠物,包含宠物的名字、年龄和种类等属性,以及相应的 getter 方法。`PetStore` 类代表一个宠物商店,包含一个宠物列表,以及添加宠物和列出宠物列表等方法。
在 `PetShop` 类的 `main` 方法中,我们使用 `Scanner` 类获取用户输入,并根据用户选择的操作执行不同的方法。用户可以选择添加宠物、查看宠物列表或退出程序。如果用户选择添加宠物,则需要输入宠物的名字、年龄和种类,程序会创建一个 `Pet` 对象,并将它添加到宠物商店的宠物列表中。如果用户选择查看宠物列表,则程序会遍历宠物列表,并输出每个宠物的信息。如果用户选择退出程序,则程序会调用 `System.exit` 方法退出程序。
这个程序只是一个简单的示例,您可以根据自己的需求对它进行修改和扩展。
阅读全文