gpt4 book ai didi

java - 如何将 boolean 值 true 或 false 分配给字符串 "Open"和 "Close"

转载 作者:行者123 更新时间:2023-12-02 10:42:00 24 4
gpt4 key购买 nike

所以我有这段代码,但我无法弄清楚以下内容:

  1. 为什么输出停在99?我知道我设置了 boolean[100] 并将其更改为 101 但这不起作用。

  2. 如何获得打印“Locker x is open”或“Locker x is close”的输出?我知道我必须以某种方式将 boolean 值 true 指定为打开,将 false 指定为关闭。

请帮忙谢谢!

代码

public class lockerPuzzle{

public static void main(String[] args){
boolean[] lockers = new boolean[100];
for(int i = 1; i < lockers.length; i++){
for (int j = i; j < lockers.length; j+=i){
if (lockers[j] == false){
lockers[j] = true;
}
else{
lockers[j] = false;
}
}
}

for(int i = 1; i <lockers.length; i++){
System.out.println(lockers[i] + " " + i);
}
}
}

最佳答案

为什么输出停在99?

您从索引 1 开始,而本应从索引 0 开始。

差异

1-99(99 个元素)

0-99(100 个元素)

代码

public static void main(String[] args){
boolean[] lockers = new boolean[100];
for(int i = 0; i < lockers.length; i++){
for (int j = i; j < lockers.length; j+=i){
if (lockers[j] == false){
lockers[j] = true;
}
else{
lockers[j] = false;
}
}
}
for(int i = 0; i <lockers.length; i++){
System.out.println(lockers[i] + " " + i);
}
}

如何获得打印 Locker x is open or closes 的输出?

您可以检查 boolean 值的真值并根据其值打印一些文本:

public class lockerPuzzle{

public static void main(String[] args){

// ...

for(int i = 0; i < lockers.length; i++){
boolean isOpened = lockers[i]

if (isOpened) {
System.out.println("Locker " + i + " is opened!");
} else {
System.out.println("Locker " + i + " is closed!");
}
}
}
}

注意:使用更多变量或三元运算符可以更加简洁,但这对于新程序员来说就足够了。祝你好运。

关于java - 如何将 boolean 值 true 或 false 分配给字符串 "Open"和 "Close",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52861114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com