【问题标题】: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("");
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-14
      • 1970-01-01
      • 2015-04-18
      • 2014-05-21
      • 2011-06-06
      • 2013-12-01
      • 2017-02-27
      相关资源
      最近更新 更多