当前位置:实例文章 » HTML/CSS实例» [文章]华为OD机试 - 宜居星球改造计划(Java & JS & Python)

华为OD机试 - 宜居星球改造计划(Java & JS & Python)

发布人:shili8 发布时间:2023-06-25 09:04 阅读次数:509

华为OD机试 - 宜居星球改造计划(Java & JS & Python)

一、题目描述

宜居星球是一个美丽的星球,但是由于人类的过度开发和污染,宜居星球的环境已经受到了严重的破坏。为了拯救宜居星球,我们需要进行一系列的改造计划。

本次机试要求你使用 Java、JS 和 Python 三种编程语言,分别实现以下功能:

1. Java 实现一个宜居星球的类 Planet,包含以下属性:

- name:星球名称,类型为 String。
- temperature:星球温度,类型为 double。
- atmosphere:星球大气层,类型为 String。
- water:星球水资源,类型为 boolean。

并实现以下方法:

- 构造方法:传入星球名称、温度、大气层和水资源,初始化 Planet 对象。
- getName():返回星球名称。
- getTemperature():返回星球温度。
- getAtmosphere():返回星球大气层。
- hasWater():返回星球是否有水资源。

2. JS 实现一个宜居星球的类 Planet,包含以下属性:

- name:星球名称,类型为字符串。
- temperature:星球温度,类型为数字。
- atmosphere:星球大气层,类型为字符串。
- water:星球水资源,类型为布尔值。

并实现以下方法:

- 构造方法:传入星球名称、温度、大气层和水资源,初始化 Planet 对象。
- getName():返回星球名称。
- getTemperature():返回星球温度。
- getAtmosphere():返回星球大气层。
- hasWater():返回星球是否有水资源。

3. Python 实现一个宜居星球的类 Planet,包含以下属性:

- name:星球名称,类型为字符串。
- temperature:星球温度,类型为浮点数。
- atmosphere:星球大气层,类型为字符串。
- water:星球水资源,类型为布尔值。

并实现以下方法:

- 构造方法:传入星球名称、温度、大气层和水资源,初始化 Planet 对象。
- getName():返回星球名称。
- getTemperature():返回星球温度。
- getAtmosphere():返回星球大气层。
- hasWater():返回星球是否有水资源。

4. Java 实现一个宜居星球的改造计划类 PlanetImprovementPlan,包含以下属性:

- planet:需要改造的星球,类型为 Planet。
- temperatureChange:温度变化值,类型为 double。
- atmosphereChange:大气层变化值,类型为 String。
- waterChange:水资源变化值,类型为 boolean。

并实现以下方法:

- 构造方法:传入需要改造的星球、温度变化值、大气层变化值和水资源变化值,初始化 PlanetImprovementPlan 对象。
- improve():对星球进行改造,改变星球的温度、大气层和水资源。

5. JS 实现一个宜居星球的改造计划类 PlanetImprovementPlan,包含以下属性:

- planet:需要改造的星球,类型为 Planet。
- temperatureChange:温度变化值,类型为数字。
- atmosphereChange:大气层变化值,类型为字符串。
- waterChange:水资源变化值,类型为布尔值。

并实现以下方法:

- 构造方法:传入需要改造的星球、温度变化值、大气层变化值和水资源变化值,初始化 PlanetImprovementPlan 对象。
- improve():对星球进行改造,改变星球的温度、大气层和水资源。

6. Python 实现一个宜居星球的改造计划类 PlanetImprovementPlan,包含以下属性:

- planet:需要改造的星球,类型为 Planet。
- temperatureChange:温度变化值,类型为浮点数。
- atmosphereChange:大气层变化值,类型为字符串。
- waterChange:水资源变化值,类型为布尔值。

并实现以下方法:

- 构造方法:传入需要改造的星球、温度变化值、大气层变化值和水资源变化值,初始化 PlanetImprovementPlan 对象。
- improve():对星球进行改造,改变星球的温度、大气层和水资源。

二、代码实现

1. Java 实现

Planet.java

public class Planet {
private String name;
private double temperature;
private String atmosphere;
private boolean water;

public Planet(String name double temperature String atmosphere boolean water) {
this.name = name;
this.temperature = temperature;
this.atmosphere = atmosphere;
this.water = water;
}

public String getName() {
return name;
}

public double getTemperature() {
return temperature;
}

public String getAtmosphere() {
return atmosphere;
}

public boolean hasWater() {
return water;
}
}

PlanetImprovementPlan.java

public class PlanetImprovementPlan {
private Planet planet;
private double temperatureChange;
private String atmosphereChange;
private boolean waterChange;

public PlanetImprovementPlan(Planet planet double temperatureChange String atmosphereChange boolean waterChange) {
this.planet = planet;
this.temperatureChange = temperatureChange;
this.atmosphereChange = atmosphereChange;
this.waterChange = waterChange;
}

public void improve() {
planet.temperature += temperatureChange;
planet.atmosphere = atmosphereChange;
planet.water = waterChange;
}
}

2. JS 实现

Planet.js

class Planet {
constructor(name temperature atmosphere water) {
this.name = name;
this.temperature = temperature;
this.atmosphere = atmosphere;
this.water = water;
}

getName() {
return this.name;
}

getTemperature() {
return this.temperature;
}

getAtmosphere() {
return this.atmosphere;
}

hasWater() {
return this.water;
}
}

PlanetImprovementPlan.js

class PlanetImprovementPlan {
constructor(planet temperatureChange atmosphereChange waterChange) {
this.planet = planet;
this.temperatureChange = temperatureChange;
this.atmosphereChange = atmosphereChange;
this.waterChange = waterChange;
}

improve() {
this.planet.temperature += this.temperatureChange;
this.planet.atmosphere = this.atmosphereChange;
this.planet.water = this.waterChange;
}
}

3. Python 实现

Planet.py

class Planet:
def __init__(self name temperature atmosphere water):
self.name = name
self.temperature = temperature
self.atmosphere = atmosphere
self.water = water

def getName(self):
return self.name

def getTemperature(self):
return self.temperature

def getAtmosphere(self):
return self.atmosphere

def hasWater(self):
return self.water

PlanetImprovementPlan.py

class PlanetImprovementPlan:
def __init__(self planet temperatureChange atmosphereChange waterChange):
self.planet = planet
self.temperatureChange = temperatureChange
self.atmosphereChange = atmosphereChange
self.waterChange = waterChange

def improve(self):
self.planet.temperature += self.temperatureChange
self.planet.atmosphere = self.atmosphereChange
self.planet.water = self.waterChange

三、代码注释

1. Java 实现

- Planet.java

// 定义一个宜居星球的类 Planet
public class Planet {
// 定义星球名称、温度、大气层和水资源四个属性
private String name;
private double temperature;
private String atmosphere;
private boolean water;

// 构造方法,传入星球名称、温度、大气层和水资源,初始化 Planet 对象
public Planet(String name double temperature String atmosphere boolean water) {
this.name = name;
this.temperature = temperature;
this.atmosphere = atmosphere;
this.water = water;
}

// 返回星球名称
public String getName() {
return name;
}

// 返回星球温度
public double getTemperature() {

其他信息

其他资源

Top