java - 如何更改实例变量的值

标签 java

我正在做代码学院项目,构建一个机器人。 我可以执行步骤 12 和步骤 13 的一部分,但过去的第三部分要求创建另一个实例( Droid dan = new Droid("Dan"); )并创建一个在它们之间交换 BatteryLevel 的 energyTransfer 方法。看看我在下面尝试过的内容,我不知道我是否走在正确的道路上。任何帮助将不胜感激!

谢谢! :)

this.batteryLevel = newBatteryLevel;
newBatteryLevel = batteryLevel;"

'public class Droid{

String name;
int batteryLevel;

public Droid(String droidName){
name = droidName;
batteryLevel = 100;

}

public String toString(){
return "Hello I am droid " + name;
}

 public void performTask(String task){
System.out.println(name + " is performing task: " + task);
batteryLevel = batteryLevel - 10;

 }

 public void energyReport(){
 System.out.println(name + "'s Battery level is:" + batteryLevel);
}


public void energyTransfer(int newBatteryLevel) {
   if (codey.batteryLevel > 10 ){
  codey.batteryLevel = batteryLevel - 5;
}
else if (codey.batteryLevel < 10 && codey.batteryLevel > 1 ){
  System.out.println("Transfer of energy not allowed at current power 
level");
}
else {
  System.out.println("Droid battery is depleted");
}


}


public static void main(String[] args){
Droid codey = new Droid("Codey");
Droid dan = new Droid("Dan");
System.out.println(codey);
codey.performTask("Walking");
codey.energyReport();
codey.performTask("Coding");
codey.energyReport();
codey.performTask("Cleaning");
codey.energyReport();
codey.performTask("Buying a house");
codey.energyReport();
dan.energyReport();

  }

 }'

我有 2 个实例程程和小丹。如果程程还有60%电量。我预计能够将电池剩余电量减去 20%,并将其添加到程小程电池剩余电量中(energyTransfer)。

最佳答案

不知道我是否理解得好。但 energyTransfer 方法可能是这样的:

public void energyTransfer(Droid aux){
    if(this.batteryLevel == 60 && aux.batteryLevel >= 20){
       this.batteryLevel += 20;
       aux.batteryLevel -= 20;
    }
 }

你的主要:

Droid codey = new Droid("Codey");
Droid dan = new Droid("Dan");
/* ... */
codey.energyTransfer(dan);

关于java - 如何更改实例变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56304070/

相关文章:

java - Eclipse 无法重命名或删除文件

java - java中2个(可能很大)文件的快速模块化加法

java - 要通过 Maven 包含在 Eclipse 中的 Tomcat 库

java - Java 中的标签云库

Java/Android - 如何打印出完整的堆栈跟踪?

c# - 无绑定(bind)操作信息异常

java - HTTPS 请求和多线程

java - 具有单独收集功能的流过滤器

java - 在 Java 中处理错误编码的 UTF-16 (?)

Java 应用程序 NoClassDefFoundError