第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

采用整型數(shù)組、整型索引和整型值的方法

采用整型數(shù)組、整型索引和整型值的方法

catspeake 2022-09-14 10:39:35
因此,對于像我這樣的初學(xué)者來說,這個問題有點(diǎn)高級,這就是為什么我希望你能忽略我的錯誤。我們需要創(chuàng)建一個采用數(shù)組的方法,一個我想要放在數(shù)組中的值以及數(shù)組中的索引值(空格)。因?yàn)槲业睦蠋煂λ胍臇|西并不具體,所以她沒有具體說明數(shù)組必須是空的還是滿的,這是本練習(xí)中最讓我困惑的地方。靜態(tài)方法必須命名為:addAtIndex( int [] a, int value, int index),然后執(zhí)行以下操作:如果數(shù)組中的最后一個空格為0或空,并且我想在其中一個已經(jīng)占用的空間中放置一個新的整數(shù)值,則需要將每個元素向右移動并保持該空間自由,以便能夠執(zhí)行此操作。如果最后一個空間已經(jīng)被整數(shù)值占用,我需要“調(diào)整”數(shù)組的大小并騰出更多空間,以便我可以繼續(xù)輸入更多的整數(shù)值。我知道你不能調(diào)整數(shù)組的大小,更不能保持所有元素的完整性,所以我需要創(chuàng)建一個更大的數(shù)組來做到這一點(diǎn)。我用Java編程還不到兩個月,所以我發(fā)現(xiàn)這很困難。我已經(jīng)能夠創(chuàng)建一個空數(shù)組,并且我已經(jīng)在數(shù)組中使用給定的參數(shù)輸入了不同的數(shù)值。所有這些都是在公共靜態(tài)空白主而不是方法中完成的。我似乎無法在方法中執(zhí)行此操作,特別是我不知道如何將數(shù)組中的所有內(nèi)容都向右移動。import java.util.Arrays;import java.util.Scanner;public class Array{  public static void main (String args []){     Scanner input = new Scanner(System.in);     int [] array   = new int[10];    for (int x = 0; x <= 9; x++){     int index = input.nextInt();     int value    = (int)(Math.random()*50);      //move elements below insertion point.    for (int i = array.length-1; i > index; i--){        array[i] = array[i-1];       }       //insert new value        array[index] = value;      }      System.out.println(Arrays.toString(array));   }}當(dāng)然,這與老師希望我做的事情相去甚遠(yuǎn)。我在這里所做的只是創(chuàng)建一個數(shù)組,在我選擇的索引中輸入隨機(jī)整數(shù)并將其打印出來。我需要一些幫助。
查看完整描述

1 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個贊

這就是我以最簡約的方式做到這一點(diǎn)的方式。

你可能需要調(diào)整,因?yàn)槲覜]有花那么多時間在它上面。

但是,它應(yīng)該給你一個很大的推動力。


請記住,數(shù)組不能具有空值。所以我把一個“空”值設(shè)為零。

關(guān)注評論!int[]


static int[] addAtIndex(

        final int[] array,

        final int value,

        final int index) {

    if (array == null || array.length == 0) {

        // We cannot do anything.

        // Simply return to the caller

        return array;

    }


    // This is the array reference holder

    int[] localArray = array;


    // Get the last element of the array

    final int last = localArray[localArray.length - 1];


    // Is the last element 0? Remember an int array cannot contain nulls

    if (last == 0) {

        if (array[index] != 0) {

            // We need to shift everything to the right

            // to give space to the new element

            shiftRight(localArray, index);

        }

    } else {

        // Create a bigger array of length = actualLength + 1

        // and assign it to the reference holder

        localArray = new int[array.length + 1];


        // Copy the array elements to the new array, leaving a space

        // for the new element

        copyArrayAndLeaveSpace(index, array, localArray);

    }


    // Assign the new value

    localArray[index] = value;


    // Return the modified array reference

    return localArray;

}


static void shiftRight(

        final int[] array,

        final int index) {

    System.arraycopy(array, index, array, index + 1, array.length - index - 1);

}


static void copyArrayAndLeaveSpace(

        final int index,

        final int[] array,

        final int[] newArray) {

    System.arraycopy(array, 0, newArray, 0, index);

    System.arraycopy(array, index, newArray, index + 1, array.length - index);

}

用法


final int[] nums = {1, 2, 3, 4, 5, 6, 8, 9, 0};

final int[] result = addAtIndex(nums, 7, 4);

輸出:[1, 2, 3, 4, 7, 5, 6, 8, 9]


final int[] nums = {1, 2, 3, 4, 5, 6, 8, 9, 1};

final int[] result = addAtIndex(nums, 7, 4);

輸出:[1, 2, 3, 4, 7, 5, 6, 8, 9, 1]


查看完整回答
反對 回復(fù) 2022-09-14
  • 1 回答
  • 0 關(guān)注
  • 132 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號