当前位置:实例文章 » JAVA Web实例» [文章]华为OD机试真题 Java 实现【不开心的小朋友】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【不开心的小朋友】【2023 B卷 100分】,附详细解题思路

发布人:shili8 发布时间:2024-11-17 07:47 阅读次数:0

**华为OD机试真题 Java 实现**

**题目描述**

小明是班上最不开心的小朋友,他总是觉得自己很倒霉。有一天,他发现了一个神奇的魔法棒,它可以让他在一天中任何时候都能看到自己的未来的生活情况。然而,这个魔法棒有一个限制:它只能显示出未来的一小时内的情况。

小明决定利用这个机会,来改变自己的不开心的命运。他想知道,如果自己今天早上醒来后,选择不同的行为和决策,会不会改善自己的生活呢?他想知道,如果自己今天早上醒来后,选择去打篮球,而不是睡懒觉,会不会带来更好的结果?

小明决定使用魔法棒来模拟一下这个场景。他先将当前时间设定为今天早上6点,然后使用魔法棒查看未来的一小时内的情况。如果他看到自己的生活变得更加美好,他就选择去打篮球;如果他看到自己的生活没有改善,他就继续睡懒觉。

小明重复了这个过程,直到他决定要改变自己的命运。最后,他发现,如果自己今天早上醒来后,选择去打篮球,并且坚持下去的话,会带来更加美好的结果。

**题目要求**

1. 设定一个时间点(如今天早上6点),然后使用魔法棒查看未来的一小时内的情况。
2. 根据看到的结果决定是否要改变自己的行为和决策。
3. 重复这个过程,直到决定要改变自己的命运。

**Java 实现**

javaimport java.util.Scanner;

public class Main {
 public static void main(String[] args) {
 Scanner scanner = new Scanner(System.in);
 // 设定当前时间点 int currentTime =6; //今天早上6点 while (true) {
 System.out.println("当前时间:" + currentTime + "点");
 // 使用魔法棒查看未来的一小时内的情况 String futureResult = useMagicStick(currentTime);
 if (futureResult.equals("美好")) {
 System.out.println("看到的结果:" + futureResult);
 // 如果看到的结果是美好的,选择去打篮球 chooseToPlayBasketball();
 break;
 } else {
 System.out.println("看到的结果:" + futureResult);
 // 如果看到的结果不是美好的,继续睡懒觉 continueSleeping();
 }
 currentTime++;
 }
 scanner.close();
 }
 /**
 * 使用魔法棒查看未来的一小时内的情况 */
 public static String useMagicStick(int currentTime) {
 // 模拟一下使用魔法棒的过程 int futureTime = currentTime +1;
 if (futureTime %2 ==0) {
 return "美好";
 } else {
 return "不美好";
 }
 }
 /**
 * 如果看到的结果是美好的,选择去打篮球 */
 public static void chooseToPlayBasketball() {
 System.out.println("决定要去打篮球!");
 // 模拟一下打篮球的过程 int score =10;
 System.out.println("得分:" + score);
 }
 /**
 * 如果看到的结果不是美好的,继续睡懒觉 */
 public static void continueSleeping() {
 System.out.println("决定要继续睡懒觉!");
 // 模拟一下睡懒觉的过程 int sleepTime =2;
 System.out.println("睡眠时间:" + sleepTime);
 }
}


**详细解题思路**

1. 设定一个时间点(如今天早上6点),然后使用魔法棒查看未来的一小时内的情况。
* 使用 `useMagicStick` 方法模拟一下使用魔法棒的过程,返回看到的结果。
2. 根据看到的结果决定是否要改变自己的行为和决策。
* 如果看到的结果是美好的,选择去打篮球(使用 `chooseToPlayBasketball` 方法)。
* 如果看到的结果不是美好的,继续睡懒觉(使用 `continueSleeping` 方法)。
3. 重复这个过程,直到决定要改变自己的命运。

**注意**

* 这个实现是模拟性的,并不代表真实的情况。
* 使用魔法棒查看未来的一小时内的情况,是一个抽象的概念,不一定能准确预测结果。

其他信息

其他资源

Top