java--类变量与实例变量--实验设计--村庄种树

news2024/10/7 20:30:23

目录

设计要求

设计流程图

程序代码

类Village代码

类MainClass代码

可以直接运行的代码

运行结果

 类变量与实例变量的区别和类方法与实例方法的区别

idea的详细使用方法


设计要求

编写程序模拟两个村庄共同拥有一片森林;编写一个Village类,该类有一个静态的int型成员变量treeAmount用于模拟森林中树木的数量;在主类MainClass的main方法中创建了两个村庄,一个村庄改变了treeAmount值,另一个村庄查看treeAmount值。

设计流程图

 

程序代码

类Village代码

package com.yuan;

public class Village {
        static int treeAmount;
        //模拟森林中树木的数量
        String name;
        Village(String s){
            name=s;
        } //含参构造
        void treePlanting(int n){
            treeAmount=treeAmount+n;
            System.out.println(name+"村植树"+n+"棵后");
        }
        //植树
        void fellTree(int n){
            if(treeAmount-n>=0){
                treeAmount=treeAmount-n;
                System.out.println(name+"村伐树"+n+"棵后");
            }
            else{
                System.out.println("森林里没有树了!!!");
            }
        }
        static int lookTreeAmount() {
            return treeAmount;
        }
}

类MainClass代码

package com.yuan;
public class MainClass {
    public static void main(String[] args) {
        Village xiaohe, dahe;
        xiaohe = new Village("小河");
        dahe = new Village("大河");
        Village.treeAmount = 200;
        int leftTree = Village.treeAmount;
        System.out.println("森林中有" + leftTree + "棵树");
        dahe.treePlanting(50);
        System.out.println("大河村植树50棵后");
        leftTree = Village.lookTreeAmount();
        System.out.println("森林中有" + leftTree + "棵树");
        dahe.fellTree(70);
        leftTree = Village.lookTreeAmount();
        System.out.println("森林中有" + leftTree + "棵树");
       }
}

可以直接运行的代码

package com.yuan;
//这个包是自己建立的,所以如果引入不了的话就不用引用了,自己建一个
public class Village {
        static int treeAmount;
        //模拟森林中树木的数量
        String name;
        Village(String s){
            name=s;
        } //含参构造
        void treePlanting(int n){
            treeAmount=treeAmount+n;
            System.out.println(name+"村植树"+n+"棵后");
        }
        //植树
        void fellTree(int n){
            if(treeAmount-n>=0){
                treeAmount=treeAmount-n;
                System.out.println(name+"村伐树"+n+"棵后");
            }
            else{
                System.out.println("森林里没有树了!!!");
            }
        }
        static int lookTreeAmount() {
            return treeAmount;
        }
    public static void main(String[] args) {
        Village xiaohe, dahe;
        xiaohe = new Village("小河");
        dahe = new Village("大河");
        Village.treeAmount = 200;
        int leftTree = Village.treeAmount;
        System.out.println("森林中有" + leftTree + "棵树");
        dahe.treePlanting(50);
        System.out.println("大河村植树50棵后");
        leftTree = Village.lookTreeAmount();
        System.out.println("森林中有" + leftTree + "棵树");
        dahe.fellTree(70);
        leftTree = Village.lookTreeAmount();
        System.out.println("森林中有" + leftTree + "棵树");
    }
}

运行结果

 类变量与实例变量的区别和类方法与实例方法的区别

详见

博主:浩瀚蓝天depicon-default.png?t=N5K3https://blog.csdn.net/LSW_JAVADP/article/details/97558003

idea的详细使用方法

详见博主:这个名字先用着icon-default.png?t=N5K3https://blog.csdn.net/weixin_38568503/article/details/114448413?ops_request_misc=&request_id=&biz_id=102&utm_term=idea%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-114448413.nonecase&spm=1018.2226.3001.4187

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WebDAV之派盘本地个人云+RaiDrive

RaiDrive是一款Windows平台下的网络驱动器软件,可以将云存储、FTP、WebDAV等网络存储设备映射为本地磁盘,方便用户在本地访问、管理和备份云端数据。它支持的存储设备包括Google Drive、Microsoft OneDrive、DropBox、以及FTP、SFTP等等。使用RaiDrive,用户可以在本地用文件…

Java中规模软件开发实训——掌握财务自由的关键!解锁智能家庭记账系统的神奇力量!(家庭记账软件)

✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(html css js) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:财务自由&am…

【LeetCode】HOT 100(20)

题单介绍: 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

LeetCode·每日一题·2679. 矩阵中的和·排序

作者:小迅 链接:https://leetcode.cn/problems/sum-in-a-matrix/solutions/2330084/pai-xu-zhu-shi-chao-ji-xiang-xi-by-xun-g-a3gw/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,…

图书推荐管理系统Python,基于Django和协同过滤算法等实现

一、介绍 图书推荐系统 / 图书管理系统,以Python作为开发语言,基于Django实现,使用协同过滤算法实现对登录用户的图书推荐。 二、效果展示 三、演示视频 视频代码:https://www.yuque.com/ziwu/yygu3z/gq555ph49m9fvrze 四、Dj…

有什么事在Linux上顺理成章,在Windows就令人费解?

Linux与Windows都是十分常见的电脑操作系统,相信大家对它们二者都有所了解!在我们的使用过程中,是否有遇到这种情况,在Linux上顺理成章,换到Windows上就令人费解? 文章目录 一、介绍2.1 Linux系统1.2 Wind…

第九十七天学习记录:Linux基础:实用操作Ⅱ

进程管理 进程 程序运行在操作系统中,是被操作系统所管理的。 为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程 并会为每一个进程都分配一个独有的:进程ID(进程号&#xf…

机器人动力学与控制学习笔记(十六)——重复控制

十六、重复控制基本原理 16.1 重复控制理论 重复控制方法的目标是设计一个针对周期信号的跟踪控制器或者扰动补偿器,只需基于过去周期的误差信号,除了使用当前控制误差外,还“重复”使用了上一周期的误差,并与当前控制误差叠加在…

2023黑马头条.微服务项目.跟学笔记(三)

2023黑马头条.微服务项目.跟学笔记 三 自媒体文章发布1.自媒体前后端搭建1.1 后台搭建1.2 前台搭建 2.自媒体素材管理2.1 素材上传2.2.1 需求分析2.2.2 素材管理-图片上传-表结构2.2.3 实现思路2.2.4 接口定义2.2.5 自媒体微服务集成heima-file-starter2.2.6 具体实现 2.2 素材…

16 线程同步

文章目录 临界区MFC 临界区全部代码 事件内核对象信号量内核对象互斥量MFC 中设置只能有一个窗口 MFC线程通信 临界区 火车票买票问题 #include<stdio.h> #include <Windows.h>/* 临界区&#xff08;关键段&#xff09; */CRITICAL_SECTION g_cs;int g_count 500…

C++ day44

1、全局变量&#xff0c;int monster 10000;定义英雄类hero&#xff0c;受保护的属性string name&#xff0c;int hp,int attcKk;公有的无参构造&#xff0c;有参构造&#xff0c;虚成员函数void AtK()[blood-0,}&#xff0c;法师类继承自英雄类&#xff0c;私有属性int ap_at…

networkx

import networkx as nx import matplotlib.pyplot as plt# 创建一个空的无向图 G nx.Graph()# 添加节点 G.add_nodes_from([1, 2, 3, 4, 5])# 指定每个节点的位置 pos {1: (0, 0),2: (1, 1),3: (2, 0),4: (1, -1),5: (-1, -1)}# 添加边 G.add_edges_from([(1, 2), (1, 3), (1…

如何在家居行业运用IPD?

家居行业是我国国民经济重要的民生产业和具有显著国际竞争力的产业。家居家装是指对房屋的整体布局、风格、色彩及空间使用进行重新设定&#xff0c;整体的工程服务包含设计、建筑施工、建材生产、装饰及家具产品制造等&#xff0c;涉及装饰装修行业和制造业。家居家装行业内大…

【Redis三】主从复制、哨兵以及Cluster集群

主从复制、哨兵以及Cluster集群 1.Redis高可用2.Redis主从复制2.1 主从复制的作用2.2 主从复制流程 2.3 搭建Redis主从复制2.3.1 安装部署Redis2.3.2 验证主从复制结果 3.Redis哨兵模式3.1 哨兵模式概述3.2 哨兵模式的作用3.3 故障转移机制3.4 主节点的选举3.5 搭建Redis哨兵模…

布尔运算-基于CGAL的布尔运算

前言&#xff1a;vtk提供的布尔运算接口vtkBooleanOperationFilter或是其他的接口&#xff0c;都存在运行不稳定且速度慢的情况&#xff1b;本博文主要使用CGAL库对布尔运算进行优化&#xff0c;希望给各位小伙伴有所帮助&#xff01; CAGL开源库 介绍 CGAL 是一个软件项目&a…

云原生之深入解析Docker容器的网络及其配置

一、Docker 容器网络 Docker 在安装后自动提供 3 种网络&#xff0c;可以使用 docker network ls 命令查看&#xff1a; [rootlocalhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE cd97bb997b84 bridge …

图像的基础操作

1.获取并修改图像中的像素值 img np.zeros((256, 256, 3), np.uint8) # 创建图像px img[100, 100] # 获取&#xff08;100&#xff0c;100&#xff09;点的像素值 blue img[100, 100, 0] # 仅获取&#xff08;100&#xff0c;100&#xff09;蓝色通道的像素值 …

图像的几何变换

1.图像的缩放 用途&#xff1a;对图像的大小尺寸进行调整&#xff0c;使图像放大或缩小。 代码&#xff1a; import cv2 as cvimg cv.imread(img.jpg)rows, cols img.shape[:2]# 使用绝对坐标 res cv.resize(img, (2 * cols, 2 * rows), interpolationcv.INTER_CUBIC)# 使…

面对“神奇的甲方”:如何应对匪夷所思的需求

在工作中&#xff0c;我们常常会遇到一些“神奇的甲方”&#xff0c;他们总是能给我们带来匪夷所思甚至无厘头的需求。本文将分享作者的经历&#xff0c;并提供一些建议&#xff0c;帮助读者应对这些“无理的需求”。 文章目录 方向一&#xff1a;分享那些你遇到的无理需求方向…

音轨分离 spleeter

https://www.cnblogs.com/ytxwzqin/p/12673661.htmlhttps://www.cnblogs.com/ytxwzqin/p/12673661.html伴奏提取福音&#xff0c;人声分离框架Spleeter1、引言对于制作人、DJ以及任何想分离音频进行单独演奏的人来说&#xff0c;将已经混音后的歌曲拆分为人声和伴奏一直是较为h…