一篇文章告訴你如何在Java數(shù)組中插入一個字符
定義一個數(shù)組
public class charInsert { public static void main(String[] args) { // 這是字符數(shù)組 char[] ch = new char[9]; ch[0] = 'a'; ch[1] = 'b'; ch[2] = 'c'; ch[3] = 'f'; ch[4] = 'g'; ch[5] = 'i'; ch[6] = 'l'; ch[7] = 'z';
這里我定義了一個數(shù)組,可以看到這里 new char[9]; 我定義了9個數(shù)值空間,而只使用了7個數(shù)組空間,給了一定的余地
定義插入的字符
char c = 'w';
這是要插入數(shù)組中的字符w,我們先將他定義好
打印插入之前字符排列順序
for (int i = 0; i < ch.length; i++) { System.out.print(ch[i] + " "); }
這是輸出一下沒有插入w之前的數(shù)組值與插入后形成對比
假設(shè)插入位置
// index為假設(shè)字符要插入的位置 int index = ch.length;
這里將插入位置放在數(shù)組的最大長度處
找到插入位置
// 通過for循環(huán)找到要插入的位置 for (int j = 0; j < ch.length; j++) { if (c < ch[j]) { index = j; break; } }
這里利用for循環(huán)將index放在合適的位置,char是可以用來比較的,這里用 c < ch[i]的目的就是讓這個“w”按照26字母順序排列,不能讓“w”出現(xiàn)在“x”的后面
// 打印要插入的位置看一下是否有問題 // System.out.println(index);
數(shù)組數(shù)據(jù)下移
// 這是很重要的一步將數(shù)組的數(shù)據(jù)進行下移 for (int k = ch.length - 1; k > index; k--) { ch[k] = ch[k - 1]; }
我們這里,很多人問,length為什么要-1呢?因為length是數(shù)組的長度,而下標(biāo)是從0開始,比長度要少1,所以-1 ,我們先前已經(jīng)定義了index的位置,也就是插入w的位置,我們讓k>index,這是因為我們只需要讓插入的“w”的后面的字母后移,前面的不需要動!
移入數(shù)值
// 將數(shù)據(jù)下移后空出的位置就可以插入數(shù)據(jù)了 ch[index] = c;
將c的值賦給數(shù)組index這個下標(biāo)
輸出數(shù)組
// 查看插入后的數(shù)組數(shù)據(jù) for (int l = 0; l < ch.length; l++) { System.out.print(ch[l] + " "); }
利用for循環(huán)輸出數(shù)組
這個時候,我們就將“w”按照26字母順序插入進去了
我們看看效果
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Java redis存Map對象類型數(shù)據(jù)的實現(xiàn)
本文主要介紹了Java redis存Map<String,RedisCustom>對象類型數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05SpringBoot使用過濾器、攔截器和監(jiān)聽器的案例代碼(Springboot搭建java項目)
這篇文章主要介紹了SpringBoot使用過濾器、攔截器和監(jiān)聽器(Springboot搭建java項目),本文是基于Springboot搭建java項目,結(jié)合案例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02