public static void main(String[] args) {
int[] HwArray = new int[10];
for (int i = 0; i < HwArray.length; i++) {
HwArray[i] = i;
}
int count = 0;
for (int i = 0; i < HwArray.length; i++){
HwArray[i] = (int) (100 + Math.random() * 100);
System.out.print("HwArray[i]=" + HwArray[i]);
}
}
{
int[] reverse(int[] HwArray); {
int[] reversed = new int[HwArray.length];
for (int i=0; i<HwArray.length; i++) {
reversed[i] = HwArray[HwArray.length - 1 - i];
}
return reverse;
}
}
}
对不起,我还在学习。我试图扭转所有元素的顺序,但我一直收到错误。我做错了吗?
答案 0 :(得分:0)
我认为在数组中反转元素顺序的概念上最简单的方法是将大小为ith
的数组的前半部分中的每个N
元素与N-ith
元素交换在下半场:
int[] reversed = new int[10];
for (int i=0; i < HwArray.length/2; ++i) {
reversed[i] = HwArray[HwArray.length-1-i];
reversed[HwArray.length-1-i] = HwArray[i];
}
在这里演示:
答案 1 :(得分:0)
有很多错误:
首先,它应该是return reversed
而不是return reverse
。
然后,你不能在方法中定义任何方法(这里,方法反向是在main方法中定义的)
然后,你可以做一件事,删除以下两个大括号:
1:int[] reverse(int[] HwArray)
之前的左大括号
2:最后一行的右括号
最后,它应该是int[] reverse(int[] HwArray) {
而不是int[] reverse(int[] HwArray); {
答案 2 :(得分:0)
Comparator<Integer> comparator = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2.compareTo(o1);
}
};
// option 1
Integer[] array = new Integer[] { 11, 44, 4, 3, 123 };
Arrays.sort(array, comparator);
// option 2
int[] array2 = new int[] {11, 44, 4, 3, 123};
List<Integer>list = Ints.asList(array2);
Collections.sort(list, comparator);
array2 = Ints.toArray(list);
// option 3
List<Integer> integersList = Ints.asList(arr);
Collections.sort(integersList, Collections.reverseOrder());
答案 3 :(得分:0)
说实话,你其实并不遥远。 reverse
函数实际上似乎工作正常但你有各种奇怪的语法错误,你甚至没有调用reverse
方法。试着这样做:
将reverse
方法移动到定义了main
的类中。如果您想直接从main
拨打电话,则必须将其设为静态方法。
摆脱第17和25行的额外花括号。
声明reverse
时删除第18行的分号。它不应该存在。
reverse
方法正在尝试返回名为reverse
的变量。这是方法的名称,你不能这样做。我想你想返回reversed
。
使用随机数初始化数组后,实际调用reverse
方法。然后再次打印出阵列以验证它是否有效。
请注意,您实际上并没有在第11行打印出数组的值。那应该是System.out.println("HwArray[" + i + "]=" + HwArray[i]);