gpt4 book ai didi

java - 检查数组中是否存在空元素

转载 作者:行者123 更新时间:2023-11-30 03:46:38 25 4
gpt4 key购买 nike

我想检查数组元素是否为空。

我已经初始化了一个大小为 2 的 String 数组。我循环遍历该数组并检查数组元素是否为 null。如果它为空,我将仅在该位置添加一个String“a”。

下面的代码将产生以下输出:

1=a
2=a

代码:

public class CheckArrayElementIsNull {
public static void main(String[] args) {
String[] arr = new String[2];
for(int i = 0; i < arr.length; i++) {
if(arr[i] == null) {
arr[i] = "a";
}
System.out.println(i + "=" + arr[i]);
if(arr[i] == null) {
System.out.println(i + "= null");
}
}
}
}

我尝试在 if 条件后添加一个中断,但没有打印出任何内容。

 public class CheckArrayElementIsNull {
public static void main(String[] args) {
String[] arr = new String[2];
for(int i = 0; i < arr.length; i++) {
if(arr[i] == null) {
arr[i] = "a";
break;
}
System.out.println(i + "=" + arr[i]);
if(arr[i] == null) {
System.out.println(i + "= null");
}
}
}
}

我期望这个输出:

1=a
2=null

最佳答案

您的循环中存在一些问题。

    for(int i = 1; i < arr.length - 1; i++) { //<---- This does not iterate over the entire array, leaving out the first and last elements
if(arr[i] == null) {
arr[i] = "a";
break; //<---- This terminates the loop entirely, if you want to stop all instructions past this one try using continue instead
}
System.out.println(i + "=" + arr[i]);
if(arr[i] == null) { //This code is unreachable as arr[i] is initialized if it was detected as null before
System.out.println(i + "= null");
}else{
System.out.println(i + "=" + arr[i]);
}
}

相反,你应该尝试

 for(int i = 0; i < arr.length; i++) {
if(arr[i] == null) {
arr[i] = "a";
System.out.println(i + "= null");
break;
}
System.out.println(i + "=" + arr[i]);
}

关于java - 检查数组中是否存在空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25501549/

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