Java利用StringBuffer替换特殊字符的方法实现

 更新时间:2021年04月14日 11:12:07   投稿:zx  
这篇文章主要介绍了Java利用StringBuffer替换特殊字符的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在本实例中为保证学生输入的 Java 文件名合格,将利用 StringBuffer 类实现对 Java 文件名中的特殊符号进行替换,包括将中文状态下的“。”和全角状态下的“.”替换为英文状态下的“.”。

在本例实现过程中主要使用了 StringBuffer 类的字符查找和替换方法,实现代码如下:

import java.util.Scanner;
public class test2 {
    public static void main(String[] args) {
        System.out.println("请输入你要提交的Java文件名称:");
        Scanner input = new Scanner(System.in);
        String fileName = input.next(); // 获取用户输入的 java 文件名称
        // 定义StringBuffer对象,字符串内容为用户输入的java文件名称
        StringBuffer file = new StringBuffer(fileName);
        // 获取英文状态下的"."是否存在
        int index = file.lastIndexOf(".");
        // 判断中文状态下的"。"和"."是否存在
        int errIndex1 = file.lastIndexOf("。");
        int errIndex2 = file.lastIndexOf(".");
        if (index != -1 && file.substring(index + 1, file.length()).equals("java")) {
            System.out.println("作业提交成功!");
        } else if (errIndex1 != -1 && file.substring(errIndex1 + 1, file.length()).equals("java")) {
            // 将中文状态下的"。"改为英文状态下的"."
            file.setCharAt(errIndex1, '.');
            System.out.println("你的书写有误,已改正为:" + file + "\r\n提交成功!");
        } else if (errIndex2 != -1 && file.substring(errIndex2 + 1, file.length()).equals("java")) {
            // 将全角状态下的"."改为英文状态下的"."
            file.setCharAt(errIndex2, '.');
            System.out.println("你的书写有误,已改正为:" + file + "\r\n提交成功!");
        } else {
            System.out.println("你提供的java文件名称有误,请核实!");
        }
    }
}

运行该程序,当用户录入的 Java 文件名称中的为中文状态的“。”和“.”时,修改为英文状态下的“.”,然后再进行提交,如下所示:

请输入你要提交的Java文件名称:
myexapmle。java
你的书写有误,已改正为:myexample.java

在该程序中,实现替换特殊字符步骤如下所示:

  • 定义了一个 String 类型的变量,并赋值为用户输入的 Java 文件名称。
  • 使用 StringBuffer 的 StringBuffer(String str) 构造函数将该变量的值作为 StringBuffer 对象的值。
  • 获取用户输入字符串中(英文和中文)的位置。
  • 使用多重 if 选择语句判断用户输入的字符串中是否包含英文状态下的,并且后面的字符串是否为“java”,如果条件成立,则表示用户输入的信息无误,提交成功。
  • 在 else if 中判断用户输入的字符串中是否包含中文状态下的“。”和“.”,并且“。”和后面的字符串为“java”,如果判断通过,则调用 StringBuffer 类中的 setCharAt() 方法修改“。”为“.”,再提交。

补充:用StringBuffer替换特定位置字符

import java.util.*;
public class Solution {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);

while(sc.hasNextLine()){
StringBuffer s=new StringBuffer();
s.append(sc.nextLine());
if(s.length()>=1&&s.length()<=10)
{
int j=0;
for(int i=0;i<s.length()-1;i++){
if(s.charAt(i)==s.charAt(i+1)){
j++;
s.setCharAt(i+1,'Z');//替换特定字符
}
}

System.out.println(j);
}
else continue;
}
}
}

到此这篇关于Java利用StringBuffer替换特殊字符的方法实现的文章就介绍到这了,更多相关Java StringBuffer替换特殊字符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Apache DolphinScheduler实现自动化打包单机/集群部署详解

    Apache DolphinScheduler实现自动化打包单机/集群部署详解

    这篇文章主要为大家介绍了Apache DolphinScheduler实现自动化打包单机/集群部署详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • JAVA加密算法实密钥一致协议代码示例

    JAVA加密算法实密钥一致协议代码示例

    这篇文章主要介绍了JAVA加密算法实密钥一致协议代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Spring基于AspectJ的AOP开发案例解析

    Spring基于AspectJ的AOP开发案例解析

    这篇文章主要介绍了Spring的基于AspectJ的AOP开发,AspectJ是一个基于Java语言的AOP框架,使用AspectJ需要导入Spring AOP和AspectJ相关jar包,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 详解eclipse创建maven项目实现动态web工程完整示例

    详解eclipse创建maven项目实现动态web工程完整示例

    这篇文章主要介绍了详解eclipse创建maven项目实现动态web工程完整示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Shell重启SpringBoot项目脚本的示例代码(含服务守护)

    Shell重启SpringBoot项目脚本的示例代码(含服务守护)

    本文介绍了如何使用 Bash 脚本来管理和守护运行服务,将展示一个示例脚本,该脚本可以停止、启动和守护运行一个服务,并提供了相应的解释和用法说明,文章通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Docker和 Containerd 的区别解析

    Docker和 Containerd 的区别解析

    containerd 是一个来自 Docker 的高级容器运行时,并实现了 CRI 规范,它是从 Docker 项目中分离出来,之后 containerd 被捐赠给云原生计算基金会(CNCF)为容器社区提供创建新容器解决方案的基础,这篇文章主要介绍了Docker和 Containerd 的区别,需要的朋友可以参考下
    2024-03-03
  • Java关键字synchronized基本使用详解

    Java关键字synchronized基本使用详解

    这篇文章主要给大家介绍了关于Java关键字synchronized基本使用的相关资料,synchronized可以用来同步静态和非静态方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • 类似Object监视器方法的Condition接口(详解)

    类似Object监视器方法的Condition接口(详解)

    下面小编就为大家带来一篇类似Object监视器方法的Condition接口(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Java 使用openoffice进行word转换为pdf的方法步骤

    Java 使用openoffice进行word转换为pdf的方法步骤

    这篇文章主要介绍了Java 使用openoffice进行word转换为pdf的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Spring Cloud负载均衡及远程调用实现详解

    Spring Cloud负载均衡及远程调用实现详解

    这篇文章主要介绍了Spring Cloud负载均衡及远程调用实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08

最新评论