java使用对象存储用户输入的内容,并使用对象方法打印出最后的信息。 欢迎您来到宠物店! 翰输入要领养宠物的名字:小黑 请选择要领养的宠物关型:(1、狗狗2、企鹅)1 请选择狗狗的品种(1、聪明的拉布拉多犬2、酷酷的雪娜瑞)2 请输入狗狗的健康植(1-0之间):120 健康值应该在0至100之间,默认值为60. 宠物的自白: 我的名字叫小黑,健康值是60,和主人的亲密度是0,我是一只酷酷的雪嫁瑞。 欢迎您来到宠物店! 请输入要领养宠物的名字:QQ 请选择要领养的宠物类型:(1、狗狗2、企鹅)2 请选择企鹅的性别:(1、 Q仔2、 Q妹)2 宠物的自白: 我的名字叫QQ,健康值是100,和主人的亲密度是20,性别是雌。
时间: 2024-02-11 22:03:56 浏览: 69
好的,以下是用 Java 语言编写的程序:
```java
import java.util.Scanner;
public class PetStore {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("欢迎您来到宠物店!");
System.out.print("请输入要领养宠物的名字:");
String name = input.next();
System.out.print("请选择要领养的宠物类型:(1、狗狗 2、企鹅)");
int type = input.nextInt();
Pet pet;
if (type == 1) {
System.out.print("请选择狗狗的品种:(1、聪明的拉布拉多犬 2、酷酷的雪娜瑞)");
int breed = input.nextInt();
System.out.print("请输入狗狗的健康值(0-100之间):");
double health = input.nextDouble();
pet = new Dog(name, breed, health);
} else {
System.out.print("请选择企鹅的性别:(1、Q仔 2、Q妹)");
int gender = input.nextInt();
pet = new Penguin(name, gender);
}
System.out.println("宠物的自白:");
pet.introduce();
}
}
class Pet {
protected String name;
protected double health = 60;
protected int love = 0;
public Pet(String name) {
this.name = name;
}
public void setHealth(double health) {
if (health >= 0 && health <= 100) {
this.health = health;
} else {
System.out.println("健康值应该在0至100之间,默认值为60。");
}
}
public void addLove(int love) {
if (love > 0) {
this.love += love;
}
}
public void introduce() {
System.out.println("我的名字叫" + name + ",健康值是" + health + ",和主人的亲密度是" + love);
}
}
class Dog extends Pet {
private String breed;
public Dog(String name, int breed, double health) {
super(name);
this.setHealth(health);
switch (breed) {
case 1:
this.breed = "聪明的拉布拉多犬";
break;
case 2:
this.breed = "酷酷的雪娜瑞";
break;
default:
System.out.println("无效的品种,已设置为默认品种:聪明的拉布拉多犬");
this.breed = "聪明的拉布拉多犬";
break;
}
}
@Override
public void setHealth(double health) {
super.setHealth(health * 0.7);
}
@Override
public void addLove(int love) {
super.addLove(love * 2);
}
@Override
public void introduce() {
super.introduce();
System.out.println("我是一只" + breed + "。");
}
}
class Penguin extends Pet {
private String gender;
public Penguin(String name, int gender) {
super(name);
switch (gender) {
case 1:
this.gender = "Q仔";
break;
case 2:
this.gender = "Q妹";
break;
default:
System.out.println("无效的性别,已设置为默认性别:Q妹");
this.gender = "Q妹";
break;
}
this.health = 100;
this.love = 20;
}
@Override
public void addLove(int love) {
super.addLove(love * 3);
}
@Override
public void introduce() {
super.introduce();
System.out.println("我是一只" + gender + ",性别是雌。");
}
}
```
程序的思路如下:
1. 首先,我们定义一个 Pet 类,表示宠物。这个类有三个属性:名字、健康值和亲密度。它还有三个方法:设置健康值、增加亲密度和自白。
2. 然后,我们定义一个 Dog 类和一个 Penguin 类,分别表示狗狗和企鹅。这两个类都继承自 Pet 类,因为它们有许多共性。
3. 在 Dog 类中,我们增加了一个属性 breed,表示狗狗的品种。我们重写了 setHealth 和 addLove 方法,因为狗狗的健康值和亲密度的计算方式与其他宠物不同。我们重写了 introduce 方法,为宠物添加自己独特的描述。
4. 在 Penguin 类中,我们增加了一个属性 gender,表示企鹅的性别。我们重写了 addLove 方法,因为企鹅的亲密度增加要比其他宠物多。我们重写了 introduce 方法,为宠物添加自己独特的描述。
5. 最后,在主程序中,我们通过读取用户输入的方式,创建了一个宠物对象,并调用了它的自白方法。
阅读全文