gpt4 book ai didi

java - 如何调试未按预期工作的 switch 语句?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:30:41 25 4
gpt4 key购买 nike

我必须在同一个数组中分隔 0 和 1。我写了逻辑,但没有得到正确的输出。你能检查代码并让我知道错误是什么吗?

package Segregate;

public class Segregate {

public void segregate0and1(int arr[], int arr_size){

int i=0;
int j=arr_size-1;
while(j>=i){
switch(arr[i]){
case 0:{
i++;
}
case 1: {


int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
j--;

}
}

}

}

public static void main(String[] args) {
Segregate seg = new Segregate ();
int arr[] = {0, 1, 0, 1, 0,0,1};
int arr_size = arr.length;
seg.segregate0and1(arr, arr_size);

System.out.print("Array after segregation is ");
for (int k = 0; k < arr_size; k++){
System.out.print(arr[k] + " ");
}
}

}

最佳答案

我建议对数组进行排序而不是使代码和逻辑复杂化

  public static void main(String[] args) {
int arr[] = { 0, 1, 0, 1, 0, 0, 1 };
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));

}

关于java - 如何调试未按预期工作的 switch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39172997/

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