好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

一篇文章告诉你如何在Java数组中插入一个字符

定义一个数组

?

1

2

3

4

5

6

7

8

9

10

11

12

public class charInsert {

  public static void main(String[] args) {

  // 这是字符数组

  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' ;

这里我定义了一个数组,可以看到这里 new char[9]; 我定义了9个数值空间,而只使用了7个数组空间,给了一定的余地

定义插入的字符

?

1

char c = 'w' ;

这是要插入数组中的字符w,我们先将他定义好

打印插入之前字符排列顺序

?

1

2

3

for ( int i = 0 ; i < ch.length; i++) {

System.out.print(ch[i] + " " );

}

这是输出一下没有插入w之前的数组值与插入后形成对比

假设插入位置

?

1

2

// index为假设字符要插入的位置

int index = ch.length;

这里将插入位置放在数组的最大长度处

找到插入位置

?

1

2

3

4

5

6

7

// 通过for循环找到要插入的位置

for ( int j = 0 ; j < ch.length; j++) {

if (c < ch[j]) {

index = j;

break ;

}

}

这里利用for循环将index放在合适的位置,char是可以用来比较的,这里用 c < ch[i]的目的就是让这个[w]按照26字母顺序排列,不能让[w]出现在[x]的后面

?

1

2

// 打印要插入的位置看一下是否有问题

// System.out.println(index);

数组数据下移

?

1

2

3

4

// 这是很重要的一步将数组的数据进行下移

  for ( int k = ch.length - 1 ; k > index; k--) {

  ch[k] = ch[k - 1 ];

  }

我们这里,很多人问,length为什么要-1呢?因为length是数组的长度,而下标是从0开始,比长度要少1,所以-1 ,我们先前已经定义了index的位置,也就是插入w的位置,我们让k>index,这是因为我们只需要让插入的[w]的后面的字母后移,前面的不需要动!

移入数值

?

1

2

// 将数据下移后空出的位置就可以插入数据了

ch[index] = c;

将c的值赋给数组index这个下标

输出数组

?

1

2

3

4

// 查看插入后的数组数据

  for ( int l = 0 ; l < ch.length; l++) {

  System.out.print(ch[l] + " " );

  }

利用for循环输出数组

这个时候,我们就将[w]按照26字母顺序插入进去了

我们看看效果

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!

原文链接:https://blog.csdn.net/qq_60750453/article/details/120671814

查看更多关于一篇文章告诉你如何在Java数组中插入一个字符的详细内容...

  阅读:15次