java 私有变量访问_Java - 访问私有实例变量

我需要从以下类列表(Species.java)访问私有变量,以便在KlingonOx.java类中使用它们。

KlingonOx.java类的目的是确定大象物种的种群数量将大于克林贡牛种的数量。

这是Species.java类:

import java.util.Scanner;

public class Species

{

private String name;

private int population;

private double growthRate;

public void readInput()

{

Scanner keyboard = new Scanner(System.in);

System.out.println("What is the species' name?");

name = keyboard.nextLine();

System.out.println("What is the population of the species?");

population = keyboard.nextInt();

while(population < 0)

{

System.out.println("Population cannot be negative.");

System.out.println("Reenter population:");

population = keyboard.nextInt();

}

System.out.println("Enter growth rate (% increase per year):");

growthRate = keyboard.nextDouble();

}

public void writeOutput()

{

System.out.println("Name = " + name);

System.out.println("Population = " + population);

System.out.println("Growth rate = " + growthRate + "%");

}

public int predictPopulation(int years)

{

int result = 0;

double populationAmount = population;

int count = years;

while( (count>0) && (populationAmount>0) )

{

populationAmount = (populationAmount + (growthRate/100) * populationAmount);

count --;

}

if (populationAmount > 0)

result = (int)populationAmount;

return result;

}

public Species(String name)

{

name = name;

population = 0;

growthRate = 0.0;

}

public Species(int population)

{

name = "";

if (population > 0)

population = population;

else

{

System.out.println("ERROR: using a negative" + "population.");

System.exit(0);

}

growthRate = 0.0;

}

public Species(double growthRate)

{

name = "";

population = 0;

growthRate = growthRate;

}

public Species(String name, int population, double growthRate)

{

name = name;

if (population > 0)

population = population;

else

{

System.out.println("ERROR: using a negative" + "population.");

System.exit(0);

}

growthRate = growthRate;

}

public Species()

{

name = "";

population = 0;

growthRate = 0;

}

public void setSpecies(String newName, int newPopulation, double newGrowthRate)

{

name = newName;

if (newPopulation >= 0)

population = newPopulation;

else

{

System.out.println("ERROR: using a negative " + "population.");

System.exit(0);

}

growthRate = newGrowthRate;

}

public void setName(String name)

{

name = name;

}

public void setPopulation(int population)

{

if (population > 0)

population = population;

else

{

System.out.println("ERROR: using a negative" + "population.");

System.exit(0);

}

}

public void setGrowthRate(double growthRate)

{

growthRate = growthRate;

}

public String getName()

{

return name;

}

public int getPopulation()

{

return population;

}

public double getGrowthRate()

{

return growthRate;

}

public boolean equals(Species otherObject)

{

return (name.equalsIgnoreCase(otherObject.name)) &&

(population == otherObject.population) &&

(growthRate == otherObject.growthRate);

}

}

这是KlingonOx.java类:

import java.util.Scanner;

public class KlingonOx extends Species

{

public static void main(String[] args)

{

new KlingonOx().run();

}

public void run()

{

Species klingonox = new Species();

Species elephant = new Species();

System.out.println("Please enter data on the species Klingon Ox.");

klingonox.readInput();

klingonox.writeOutput();

klingonox.setPopulation(int population);

population = population;

klingonox.setGrowthRate(double growthRate);

growthRate = growthRate;

System.out.println("Please enter data on the species Elephant.");

elephant.readInput();

elephant.writeOutput();

elephant.setPopulation(population);

population = population;

elephant.setGrowthRate(growthRate);

growthRate = growthRate;

int year = 0;

if(klingonox.population < elephant.population)

{

while(klingonox.population < elephant.population)

{

klingonox.population = (int)(klingonox.population + (klingonox.population * (klingonox.growthRate/100) ) );

elephant.population=(int)(elephant.population + (elephant.population * (elephant.growthRate/100) ) );

year++;

}

System.out.println("KLINGON OX EXCEEDS ELEPHANT IN" + year + "YEARS");

}

else

{

while(klingonox.population > elephant.population)

{

klingonox.population=(int)(klingonox.population+(klingonox.population*(klingonox.growthRate/100)));

elephant.population=(int)(elephant.population+(elephant.population*(elephant.growthRate/100)));

year++;

}

System.out.println("ELEPHANT EXCEEDS KLINGON OX IN" + year + "YEARS");

}

}

}

KlingonOx.java类给出了一个错误,即“population”和“growthRate”是Species中的私有实例变量,因此无法访问。我曾尝试使用getPopulation和getGrowthRate方法调用来检索变量,但我不确定如何正确地执行此操作。

感谢任何反馈。

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

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

相关文章

setState是异步还是同步?

react中setState是同步还是异步困扰了好久&#xff0c;今天终于有了答案&#xff1b;它既是同步的&#xff0c;也是异步的&#xff1b; 批量更新&#xff1a; 加入我在页面上写三个setState去分别 componentDidMount() {this.setState({ val: this.state.val 1 }) console.log…

java学习(40):成员实例的定义和访问

定义一个student类 public class student { String name;//输入姓名 int age;//输入年龄 String address;//输入地址 char sex;//输入性别 double height;//输入身高 } 定义一个teststudent类 //成员实例的定义和访问 public class testStudent { public static void main(Stri…

简易计算器 java_终于写出一个简单的计算器了

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼import javax.swing.*;import java.awt.event.*;import java.awt.*;import java.util.Scanner;//import java.util.Scanner;public class Jisuanji {JLabel JLabel1;JLabel JLabel2;JLabel JLabel3;//标签JFrame mainJFrame;//布局…

2018.10.20 NOIP模拟 蛋糕(线段树+贪心/lis)

传送门 听说是最长反链衍生出的对偶定理就能秒了。 本蒟蒻直接用线段树模拟维护的。 对于第一维排序。 维护第二维的偏序关系可以借助线段树/树状数组维护逆序对的思想建立权值线段树贪心求解。代码 转载于:https://www.cnblogs.com/ldxcaicai/p/10084858.html

java学习(41):成员实例的定义和访问续

定义一个studentstudy类 /1 使用Eclipse编写控制台应用程, 编写一个用来表示学生的java类&#xff0c; 并在类中定义描述学生特征的属性&#xff0c;姓名&#xff0c;年龄&#xff0c;性别&#xff0c;身高&#xff0c;体重和电话&#xff0c; 要求属性设置为私有访问级别并为私…

brew 安装 mysql5.7_Mac——brew替换源地址安装配置mysql@5.7版本

问题描述&#xff1a;使用brew方式安装mysql&#xff0c;存在以下问题&#xff1a;1.由于mysql已经升级到8.x版本&#xff0c;会默认安装8.x版本&#xff0c;会对之前部分特性不友好支持&#xff1b;2.brew默认安装源下载响应时间非常慢&#xff0c;下载时间过长容易超时&#…

ftp的本地用户搭建

前期的准备跟虚拟用户一样&#xff0c;就是配置文件不一样 修改配置文件 就是共享的都是自己的账号的家目录&#xff0c;然后启动服务就可以了 本地登陆的都是自己的账号密码 ftp本地的黑名单&#xff0c; 转载于:https://www.cnblogs.com/cash-su/p/9824553.html

java学习(42):巩固练习

定义一个testjava类 /*4 编写一个TestStudentOverrideConstructor.java类&#xff0c; 包含main方法&#xff0c;从控制台接收用户输入的学生信息&#xff0c;包括学生姓名&#xff0c;性别和年龄&#xff0c;使用带参数的构造器创建学生对象并将接收到的输入传递给这个构造器参…

错误解决:常出现在iis搭建网站

不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定 在全新安装的IIS7下搭建网站&#xff0c;访问页面时出现错误信息如下&#xff1a; 配置错误 不能在此路径中使用此配置节。如果在父级别上锁定了该节&#xff0c;便会出现这种情况。锁定是默认…

java收发邮寄_JavaMail收发邮件的一般流程与主要方法

1、Properties属性类Properties p new Properties();p.put(key, value);key-| mail.smtp.host-| mail.smtp.port-| mail.smtp.auth->"true":"false"2、生成Authenticator的子类Overrideprotected PasswordAuthenticationgetPasswordAuthentication(){r…

Java中TreeMap和TreeSet的底层实现

TreeSet底层则采用NavigableMap这个接口来保存TreeSet集合&#xff0c;而实际上NavigableMap只是一个接口&#xff0c;实际上TreeSet还是用TreeMap来保存set元素。 TreeSet初始化的时候会new 一个TreeMap进行初始化&#xff1b; private transient NavigableMap<E,Object>…

oracle 11g数据库数据操作(亲测)

oracle 11g安装和oracle数据库监听配置就不说了&#xff0c;直接说数据库的相关操作 建立 wiicare 用户 create directory dump_dir as ‘d:\test\dump’; 使用 PLSQL Developer 连接数据库 登陆数据库&#xff0c;用户名:system 密码: 123456 连接为&#xff1a;sysdba 新建表…

使用mybatis操作AS400数据库

先简单说一下怎么使用【jt400.jar】连接AS400上的DB2数据库。 ※ jt400.jar资源&#xff0c;如果有安装AS400客户端的话&#xff0c;参考IBM官网 ※ http://www-01.ibm.com/support/docview.wss?uidswg21398042 安装目录下就有jt400.zip&#xff0c;改个后缀就能用了。 如果没…

java ajax 获取headers_Ajax获取Response头信息

$.ajax({type: HEAD, // 获取头信息&#xff0c;typeHEAD即可url : window.location.href,complete: function( xhr,data ){// 获取相关Http Response headervar wpoInfo {// 服务器端时间"date" : xhr.getResponseHeader(Date),// 如果开启了gzip&#xff0c;会返回…

oracle 数据操作的相关参数

ATTACH 连接到现有作业。 例如, ATTACHjob_name。 CONTENT 指定要加载的数据。 有效的关键字为: [ALL], DATA_ONLY 和 METADATA_ONLY。 DATA_OPTIONS 数据层选项标记。 有效的关键字为: SKIP_CONSTRAINT_ERRORS。 DIRECTORY 用于转储文件, 日志文件和 SQL 文件的目录对象。 …

【论文阅读】Deep Adversarial Subspace Clustering

导读&#xff1a; 本文为CVPR2018论文《Deep Adversarial Subspace Clustering》的阅读总结。目的是做聚类&#xff0c;方法是DASCDSC&#xff08;Deep Subspace Clustering&#xff09;GAN&#xff08;Generative Adversarial Networks&#xff09;。本文从以下四个方面来对论…

java 数据库连接池 开源_开源自己开发的一个JAVA数据库连接池,效果还算可以。...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼}public PreparedStatement prepareStatement(String sql, int[] columnIndexes)throws SQLException {return c.prepareStatement(sql, columnIndexes);}public PreparedStatement prepareStatement(String sql, String[] columnN…

Oracle数据库配置监听的作用

监听的作用就是给客户端电脑和中心数据库电脑建立数据的连接。一旦建立连接就不对两者造成任何影响&#xff0c;连接上的客户端上的用户可以做任何操作和查询&#xff0c;哪怕监听已经关闭或者被破坏。 注意&#xff1a;在数据库本机电脑连接数据库不需要用监听。哪怕没有监听…

java 值相同 hashcode_搞懂 Java equals 和 hashCode 方法

image搞懂 Java equals 和 hashCode 方法分析完 Java List 容器的源码后&#xff0c;本来想直接进入 Set 和 Map 容器的源码分析&#xff0c;但是对于这两种容器&#xff0c;内部存储元素的方式的都是以键值对相关的&#xff0c;而元素如何存放&#xff0c;便与 equals 和 hash…

Hadoop学习笔记

1.Hadoop安装 Apache的国内镜像地址&#xff1a; 地址1&#xff1a;http://mirror.bit.edu.cn/apache/ 地址2&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/apache Fuck CSDN&#xff0c;谁给你的权利把开源的东西作为商品&#xff08;下载积分&#xff09;售卖&#xff1…