<input id="ohw05"></input>
  • <table id="ohw05"><menu id="ohw05"></menu></table>
  • <var id="ohw05"></var>
  • <code id="ohw05"><cite id="ohw05"></cite></code>
    <label id="ohw05"></label>
    <var id="ohw05"></var>
  • 需求一:給出一個固定數組int[] array = {1, 3, 6, 8, 7, 9, 4, 10},要求將某一元素放到某一元素后,例如將1放到6后,輸出結果為array = {3, 6,1, 8, 7, 9, 4, 10}

    分析:

    1.找出兩個元素所在的下標

    2.判斷兩個元素下標的大小關系,不同情況使用不同的方法

    3.根據不同的情況使用System.arraycopy方法

    需求二:給出一個固定數組int[] array = {1, 3, 6, 8, 7, 9, 4, 10},要求將其中任意兩個元素調換位置,例如1,10調換位置,輸出結果為array ={10, 3, 6, 8, 7, 9, 4, 1}

     public class HomeWork05 {
         public static void main(String[] args) {
             int[] array = {1, 3, 6, 8, 7, 9, 4, 10};
             int[] ints1 = changPosition(10, 3, array);
             for (int i = 0; i < ints1.length; i++) {
                 System.out.print(ints1[i]+"\t");
            }
             System.out.println("---------------------------------------");
             int[] ints = changSpace(9, 10, array);
             // int[] ints = changPosition(3, 7, array);
             for (int i = 0; i < ints.length; i++) {
                 System.out.print(ints[i] + "\t");
            }
     ?
     ?
        }
     ?
         public static int[] changPosition(int n1, int n2, int[] array) {
             int a = -1;
             int b = -1;
             for (int i = 0; i < array.length; i++) {
                 if (array[i] == n1) {
                     a = i;
                }
            }
             for (int i = 0; i < array.length; i++) {
                 if (array[i] == n2) {
                     b = i;
                }
            }
             //兩個元素交換位置
     ?
             if (a > b) {//判斷第一個參數下標是否大于第二個參數下標
                 System.arraycopy(array, b, array, b + 1, a - b);//是的話用第二個參數下標作為起始位置
     //           array[a] = n2;
                 array[b + 1] = n1;
     ?
            } else if (a < b) {//判斷第一個參數下標是否大于第二個參數下標
                 System.arraycopy(array, a + 1, array, a, b - a);//不大于就用第一個參數下標做起始位置
                 array[b] = n1;
            }
             return array;
     ?
        }
     ?
         public static int[] changSpace(int n1, int n2, int[] array) {
             int a = -1;
             int b = -1;
             for (int i = 0; i < array.length; i++) {
                 if (array[i] == n1) {
                     a = i;
                }
            }
             for (int i = 0; i < array.length; i++) {
                 if (array[i] == n2) {
                     b = i;
                }
            }
             //兩個元素交換位置
             if (a > b) {//判斷第一個參數下標是否大于第二個參數下標
                 System.arraycopy(array, b, array, b, a - b);//是的話用第二個參數下標作為起始位置
                 array[a] = n2;
                 array[b] = n1;
     ?
            } else if (a < b) {//判斷第一個參數下標是否大于第二個參數下標
                 System.arraycopy(array, a + 1, array, a, b - a - 1);//不大于就用第一個參數下標做起始位置
                 array[b] = n1;
                 array[a] = n2;
            }
             return array;
        }
     }
     
    posted on 2022-06-28 14:00  再美不及姑娘你  閱讀(56)  評論(0編輯  收藏  舉報

    国产美女a做受大片观看