有两个篮子,分别为A 和 B,篮子A里装有鸡蛋,篮子B里装有苹 果,请用面向对象的思想实现两个篮子里的物品交换

问题:

有两个篮子,分别为A 和 B,篮子A里装有鸡蛋,篮子B里装有苹 果,请用面向对象的思想实现两个篮子里的物品交换

代码

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

package cn.ljh.algorithmic;

/**
 * author JH
 */
public class Demo07
{
    public static void main(String[] args)
    {
        //创建篮子
        Basket A = new Basket("【A篮子】");
        Basket B = new Basket("【B篮子】");

        //装载物品
        A.load("【鸡蛋】");
        B.load("【苹果】");

        //交换物品
        A.change(B);

        //展示
        A.show();
        B.show();

    }

    //篮子
    static class Basket
    {
        public String name; // 篮子名称
        private Goods goods; //篮子中所装的物品

        //只创建篮子的构造器
        public Basket(String name)
        {
            this.name = name;
            System.err.println(name + "篮子被创建");
        }

        //把物品装到篮子里的函数
        public void load(String name)
        {
            goods = new Goods(name);
            System.err.println(this.name + "装载了" + name + "物品");
        }

        //交换方法
        public void change(Basket B){
            System.err.println(this.name + "和" + B.name + "中的物品发生了交换");

            String tmp = this.goods.getName();
            this.goods.setName(B.goods.getName());
            B.goods.setName(tmp);
        }
        //打印交换后篮子里面的物品
        public void show() {
            System.err.println(this.name + "中有" + goods.getName() + "物品");
        }
    }


    //物品类
    static class Goods
    {
        private String name; // 物品名称

        //get\set 方法
        public String getName()
        {
            return name;
        }

        public void setName(String name)
        {
            this.name = name;
        }

        //构造器
        public Goods(String name)
        {
            this.name = name;
        }
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/211024.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

git rebase冲突说明(base\remote\local概念说明)

主线日志及修改 $ git log master -p commit 31213fad6150b9899c7e6b27b245aaa69d2fdcff (master) Author: Date: Tue Nov 28 10:19:53 2023 08004diff --git a/123.txt b/123.txt index 294d779..a712711 100644 --- a/123.txtb/123.txt-1,3 1,4 123 4^Mcommit a77b518156…

使用SpringBoot和ZXing实现二维码生成与解析

一、ZXing简介 ZXing是一个开源的,用Java实现的多种格式的1D/2D条码图像处理库。它包含了用于解析多种格式的1D/2D条形码的工具类,目标是能够对QR编码,Data Matrix, UPC的1D条形码进行解码。在二维码编制上,ZXing巧妙地利用构成计…

【Linux】命令行参数

文章目录 前言一、C语言main函数的参数二、环境变量总结 前言 我们在Linux命令行输入命令的时候,一般都会跟上一些参数选项,比如l命令,ls -a -l。以前我总是觉得这是理所当然的,没深究其本质究竟是什么,今天才终于知道…

180天Java从小白到就业-Day03-03Java位运算符、赋值运算符、数据交换的三种方式

1. 位运算符 Q:为什么要学习位运算 A:由于其运算效率更高,在JDK源码(例如ArrayList、HashMap)中大量使用位运算,想要看懂JDK源码必须懂位预算,但是在公司开发业务系统时位运算使用并不多。 Q…

N-135基于springboot,vue高校图书馆管理系统

开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:vueelementUI 服务端技术:springbootmybatisredis 本项…

深入理解同源限制:网络安全的守护者(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

【可视化】图像分割中标签label与预测mask的两种可视化方法

前两天进行一个分割项目,模型训练完成后需要对分割效果可视化,特此记录两种方法。 示例中用到的原图、label和mask如下所示: 1. 标签label填充,预测mask勾线 第一种是标签label填充样覆盖,预测mask采用勾线描边的方式…

Oracle ORA12514 监听程序当前无法识别连接描述符中请求的服务

最简单的有可能是你的服务还没有开启,需要启动服务!!!! 在连接数据库的时候,有时会遇到一个“ORA12514:监听程序当前无法识别连接描述符中请求的服务”的错误,这个错误其实就是数据…

网页中的json文档,怎么保存到本地

火狐浏览器操作方法 方法一 右键——>另存页面为 方法二 点击右边的三条横线——>另存页面为 谷歌浏览器操作方法 方法一 右键——>另存为 方法二

LZW的编码和解码

不同于哈弗曼编码针对于每个元素编码,LZW主要针对字符串的编码优化,也就是把出现频率高的字符串压缩成一个字符表示,这也是大名鼎鼎的GIF采用的压缩格式。下面我将从三个角度谈谈我的一些理解,文章主要参考了这位大佬:…

SQL server 2016安装

1、关系数据库的基本概念。 行:每行成为一条“记录”或“元组”,用于描述一个对象的信息。 列:每列称为一个“字段”或“属性”,用于描述对象的一个属性。 2、主键与外键。 主键:键,即关键字。主键由一个或…

[传智杯 #2 决赛] 补刀

题目描述 UIM 在写程序的空闲玩一款 MOBA 游戏。 当敌方的小兵进入到我方防御塔的范围内,就会持续受到防御塔造成的伤害;当然我方英雄也可以对它造成伤害。当小兵的血量降到了 0 或者更低,就会被击杀。为了获得经验,UIM 希望在防…

C语言中的格式化输出符号:%d %c %p %x等

文章目录 概览%d%c%d和%c的区别%p%x %X输出浮点数参考 概览 C语言中的格式化输出符号有很多,以下是一些常见的: %d 或 %i:用于输出十进制整数。 %u:用于输出无符号十进制整数。 %f:用于输出浮点数。 %s:用…

Linux - 进程间通信

进程通信 初步理解进程通信 所谓进程之间的通信,就是两个进程之间的 数据层面的交互。 我们之前说过,父子进程之间是有一些数据通信的,子进程可以看到一些父进程 允许 子进程访问的数据,比如 父进程的 环境变量,子…

来CSDN一周年啦!!!

各位CSDN的uu们你们好呀,今天是小雅兰来到CSDN创作的一周年啦,时间,说长不长,说短也不短,在这一年中,我认为我也收获了一些很有价值的东西吧!! 一周年了,该创作的还得继续…

Android 应用资源概览

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、资源类型分组四、配置限定符名称表…

【Unity入门】声音组件AudioSource简介及实现声音的近大远小

AudioSource组件 将需要播放声音的物体挂载Audio Listener组件,实现声音的播放 AudioSource组件属性 (1)AudioClip(音频剪辑):指定播放的音频文件。 (2)Output(音频输…

Paxos 算法

Paxos 算法 介绍 Paxos 算法是第一个被证明完备的分布式系统共识算法。共识算法的作用是让分布式系统中的多个节点之间对某个提案(Proposal)达成一致的看法。提案的含义在分布式系统中十分宽泛,像哪一个节点是 Leader 节点、多个事件发生的…

使用mybatis-plus框架:@Autowired报错Could not autowire. No beans of ‘XXX‘ type found

使用mybatis-plus框架,使用xxmapper报错: 解决办法是:在mapper中添加注解: Repository Mapper 也可以使用 AutowiredSysRoleMenuService sysRoleMenuService;替代 AutowiredSysRoleMenuMapper sysRoleMenuMapper;方法名不同,但…

RHCE学习笔记(RHEL8) - RH294

Chapter Ⅰ 介绍Ansible ansible ansible是一款开源自动化平台 ansible围绕一种无代理架构构建,在控制节点上安装ansible,且客户端不需要任何特殊的代理软件;ansible使用SSH等标准协议连接受管主机,并在受管主机上运行代码或命令来…