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

 更新时间:2021年10月11日 08:43:35   作者:Jan,s  
本篇文章主要介绍了Java数组中插入一个字符的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

定义一个数组

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个数组空间,给了一定的余地

定义插入的字符

 char c = 'w';

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

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

 for (int i = 0; i < ch.length; i++) {
 System.out.print(ch[i] + " ");
 }

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

假设插入位置

// index为假设字符要插入的位置
int index = ch.length;

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

找到插入位置

 // 通过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”的后面

 // 打印要插入的位置看一下是否有问题
 // System.out.println(index);

数组数据下移

// 这是很重要的一步将数组的数据进行下移
 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”的后面的字母后移,前面的不需要动!

移入数值

 // 将数据下移后空出的位置就可以插入数据了
 ch[index] = c;

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

输出数组

// 查看插入后的数组数据
 for (int l = 0; l < ch.length; l++) {
 System.out.print(ch[l] + " ");
 }

利用for循环输出数组

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

我们看看效果

总结

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

相关文章

  • Java redis存Map对象类型数据的实现

    Java redis存Map对象类型数据的实现

    本文主要介绍了Java redis存Map<String,RedisCustom>对象类型数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • SpringBoot使用过滤器、拦截器和监听器的案例代码(Springboot搭建java项目)

    SpringBoot使用过滤器、拦截器和监听器的案例代码(Springboot搭建java项目)

    这篇文章主要介绍了SpringBoot使用过滤器、拦截器和监听器(Springboot搭建java项目),本文是基于Springboot搭建java项目,结合案例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • 浅谈Java中的LinkedHashSet哈希链表

    浅谈Java中的LinkedHashSet哈希链表

    这篇文章主要介绍了浅谈Java中的LinkedHashSet哈希链表,LinkedHashSet 是 Java 中的一个集合类,它是 HashSet 的子类,并实现了 Set 接口,与 HashSet 不同的是,LinkedHashSet 保留了元素插入的顺序,并且具有 HashSet 的快速查找特性,需要的朋友可以参考下
    2023-09-09
  • jar包中替换指定的class文件方法详解

    jar包中替换指定的class文件方法详解

    这篇文章主要为大家介绍了jar包中替换指定的class文件方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Java实现评论回复功能的完整步骤

    Java实现评论回复功能的完整步骤

    这篇文章主要给大家介绍了关于Java实现评论回复功能的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • java调用短信猫发短信示例

    java调用短信猫发短信示例

    这篇文章主要介绍了java调用短信猫发短信示例,需要的朋友可以参考下
    2014-04-04
  • Java编程使用卡片布局管理器示例【基于swing组件】

    Java编程使用卡片布局管理器示例【基于swing组件】

    这篇文章主要介绍了Java编程使用卡片布局管理器,结合实例形式分析了java基于swing组件的卡片布局管理器具体实现与使用技巧,需要的朋友可以参考下
    2018-01-01
  • Java中正则表达式的使用和详解(上)

    Java中正则表达式的使用和详解(上)

    这篇文章主要介绍了Java中正则表达式的使用和详解,包括匹配验证验证email是否正确,在字符串中查询字符或者字符串的代码实例,需要的朋友可以参考下
    2017-04-04
  • Spring IoC容器常见获取Bean的方式汇总示例解析

    Spring IoC容器常见获取Bean的方式汇总示例解析

    这篇文章主要为大家介绍了Spring IoC容器常见获取Bean的方式汇总示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • String转JSONObject的两种方式

    String转JSONObject的两种方式

    这篇文章主要介绍了String转JSONObject,本文通过实例代码给大家介绍两种方式转换,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07

最新评论