gpt4 book ai didi

java - 如何仅反转一半的选项卡?

转载 作者:行者123 更新时间:2023-12-02 11:59:29 24 4
gpt4 key购买 nike

如何只反转表格的一半?例如:我有:TAB = {1,2,3,4,5,6},我想得到 TAB2:{1,2,3,6,5,4}。

现在,我像这样反转所有选项卡:

int tmpl;
int l = tab2.length;
int pol = l/2;

for (int i = 0; i <= pol; i++){
tmpl = tab2[i];
tab2[i] = tab2[l-1-i];
tab2[l-1-i] = tmpl;
}

最佳答案

为每一半创建两个单独的数组。

public static int[] splitArray(int start, int end, int[] array)
{
int[] newArray = new int[array.length / 2];
int j = 0;
for (int i = start; i < end; i++)
{
newArray[j] = array[i];
j++;

}
return newArray;
}

有一个反转数组的方法。传递每个数组。

public static int[] reverseArray(int[] array)
{
int[] newArray = new int[array.length];
int j = 0;
for (int i = array.length - 1; i >= 0; i--)
{
newArray[j] = array[i];
j++;
}
return newArray;
}

现在合并两个数组。

public static int[] combineArrays(int[] array1, int[] array2)
{
int j = 0;
int[] combinedArray = new int[array1.length + array2.length];
for (int i = 0; i < array1.length; i++)
{
combinedArray[j] = array1[i];
j++;
}
for (int i = 0; i < array2.length; i++)
{
combinedArray[j] = array2[i];
j++;
}
return combinedArray;
}

主要方法看起来如何。

public static void main(String[] args)
{
int[] TAB = { 1, 2, 3, 4, 5, 6 };
int[] split1 = splitArray(0, TAB.length / 2, TAB);
int[] split2 = splitArray(TAB.length / 2, TAB.length, TAB);
split1 = reverseArray(split1);
split2 = reverseArray(split2);
int[] TAB2 = combineArrays(split1, split2);
for (int i = 0; i < TAB2.length; i++)
{
System.out.println(TAB2[i]);
}


}

关于java - 如何仅反转一半的选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47370398/

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