【问题标题】:Switch first and last elements of an array Error切换数组错误的第一个和最后一个元素
【发布时间】:2013-12-05 05:37:54
【问题描述】:
对于我的一个方法,它的作用是切换数组的第一个和最后一个元素。当我将数组内置到方法中时,它工作得很好。但后来我决定让它从 main 的数组中读取,现在它不能正常工作。它每次替换不同的数字,或者有时不替换任何东西,只是复制数组。
例子:
20432
20432
和
44413
44431 和
42203
public static void main(String[] args) {
int[] array = new int[5];
int length = array.length;
for (int i = 0; i < length; i++) {
array[i] = (int)(Math.random () * 5);
System.out.print(array[i]);
}
System.out.println("");
flipFirstAndLast(array);
replaceEvenWithZero(array);// TODO code application logic here
}
public static void flipFirstAndLast(int[] array){
int i = array[0];
int j = array[array.length - 1];
int hold = array[i];
array[i] = array[j] ;
array[j] = hold;
for (int k = 0; k < 5; k++) {
System.out.print(array[k]);
}
System.out.println("");
}
【问题讨论】:
标签:
arrays
netbeans
switch-statement
element
【解决方案1】:
public static void flipFirstAndLast(int[] array){
int i = array[0];
int j = array[array.length - 1];
int hold = array[i];
array[i] = array[j] ;
array[j] = hold;
for (int k = 0; k < 5; k++) {
System.out.print(array[k]);
}
只需复制此代码,您就会得到答案,我试过了,它正在工作
public static void flipFirstAndLast(int[] array){
for( int i=0;i<array.length;i++)
System.out.println( " array in mathod : " +array[i]);
System.out.println("");
int i = array[0];
int j = array[array.length-1];
array[0]=j;
array[array.length-1]= i;
System.out.println("after swap");
for (int k = 0; k < 5; k++) {
System.out.print(array[k]);
}
System.out.println("");
}
或者你也可以这样做
public static void flipFirstAndLast(int[] array){
for( int i=0;i<array.length;i++)
System.out.println( " array in mathod : " +array[i]);
System.out.println("");
// int i = array[0]; //remove this line
// int j = array[array.length-1]; // remove this line
int hold =0;
hold = array[0];
array[0] = array[array.length-1] ;
array[array.length-1] = hold;
System.out.println("after swap");
for (int k = 0; k < 5; k++) {
System.out.print(array[k]);
}
System.out.println("");
}