Java实验:类与对象(一)

一、实验要求

  1. 理解面向对象的程序设计方法
  2. 掌握使用类的定义和对象的使用
  3. 掌握引用类型参数的传值

二、实验内容

1.基于面向对象的思想,模拟一个猫和老鼠的程序。

要求:

  1. 猫和老鼠都有名字和体重两种属性,各自都有有参的构造方法,猫有抓老鼠的方法public void catchMouse(Mouse mouse),老鼠则有逃跑的方法 public void escapeCat(Cat cat)。
  2. 产生一个猫对象和一个老鼠对象,对名字和体重通过有参构造方法进行赋值。若猫的体重大于或等于老鼠的体重,则实现抓老鼠方法;若猫的体重小于老鼠的体重,则实现老鼠逃跑的方法。

样例图如下:

三、实验过程

实现思路

创建猫和老鼠两个类,在构造方法中private名字和体重属性,通过有参构造进行赋值,然后创建逃跑和抓老鼠方法,利用if 语句进行判断,输出两种结果。

package cn.edu;
import java.util.Scanner;
class Cat{
private String name;
private int weight;
public Cat(){
this.name =name;
this.weight = weight; 
}
public String getName() {
return name;
}
public void setname(String name) {
this.name = name;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public void catchMouse(Mouse m1) {
System.out.println(name+"猫抓住了老鼠"+m1.getName());
}
}
class Mouse{
private String name2;
private int weight2;
public Mouse(){
this.name2 =name2;
this.weight2 = weight2; 
}
public String getName() {
return name2;
}
public void setName(String name2) {
this.name2 = name2;
}
public int getWeight() {
return weight2;
}
public void setWeight(int weight) {
this.weight2 = weight;
}
public void escapeCat(Cat c1) {
System.out.println(name2+"老鼠逃脱了猫"+c1.getName());
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Cat c1 =new Cat();
System.out.printf("请输入猫的名字:\n");
String name=sc.next();
c1.setname(name);
System.out.printf("请输入猫的体重:\n");
int height=sc.nextInt();
c1.setWeight(height);
Mouse m1 =new Mouse();
System.out.printf("请输入老鼠的名字:\n");
String name2=sc.next();
m1.setName(name2);
System.out.printf("请输入老鼠的体重:\n");
int height2=sc.nextInt();
m1.setWeight(height2);
if (c1.getWeight()>m1.getWeight()) {
c1.catchMouse(m1);
}
else {
m1.escapeCat(c1);
}
}
}

结果截图:

四、实验心得

  1. 传变量时要看清输入个数,如果分别输入两个就不能一次全部传入,只接收最后一次的数据;
  2. 书写变量时认真检查拼写,符合变量本身含义;
  3. 方法中参数要带数据类型(如int,String)。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值