分析思路:
1、先明确要写几个类。
2、每个类中的属性、方法应该是什么。
3、怎么判断投喂的宠物是否是输入的宠物。
4、怎么判断投喂的食物宠物是否爱吃。
先写第一个类的内容:应该有人的属性和人的动作。
在写第二个类猫的属性和判断投喂食物猫是否爱吃。狗亦然。
最后,写测试类。
第一个类主要定义人的属性和动作
package Test;
import java.util.Scanner;
public class Gus {
String name = "jeck";
int age = 22;
char sex = '男';
public void feed (){
Cat cat = new Cat();
Dog dog = new Dog();
System.out.println("请输入你要喂得宠物:");
String feedType = new Scanner(System.in).next();
if(feedType.equals(cat.catname)){
cat.catlove();
}else{
dog.doglove();
}
}
}
第二个类的内容为:猫的属性,判断猫爱吃的食物。
package Test;
import java.util.Scanner;
public class Cat {
String catname = "tom";
String type = "狸花猫";
String[] array1 = {"鱼","猫粮","猫薄荷"};
public void catlove(){
System.out.println("请输入你要投喂的食物:");
String food1 = new Scanner(System.in).next();
boolean y =false;
for(int i=0;i<=array1.length-1;i++){
if(food1.equals(array1[i])){
System.out.print(catname+"爱吃"+food1);
break;
}else{
y=true;
}
}
if(y){
System.out.print(catname+"不爱吃"+food1);
}
}
}
第三个类的内容为:狗的属性,判断狗爱吃的食物。
package Test;
import java.util.Scanner;
public class Dog {
String dogname = "wolf";
String type = "哈士奇";
String[] array2={"肉","狗粮","骨头"};
public void doglove(){
System.out.println("请输入你要投喂的食物:");
String food = new Scanner(System.in).next();
boolean n=false;
for(int i=0;i<=array2.length-1;i++){
if(food.equals(array2[i])){
System.out.print(dogname+"爱吃"+food);
break;
}else{
n =true;
}
}
if(n){
System.out.print(dogname+"不爱吃"+food);
}
}
}
最后,是测试类。
package Test;
public class TestFood {
public static void main(String[] args) {
Gus guy = new Gus();
System.out.println("这个人的名字是:"+guy.name);
System.out.println("这个人的年龄是:"+guy.age);
System.out.println("这个人是:"+guy.sex);
guy.feed();
}
}