java 字符串的拼接的实现实例

java 字符串的拼接的实现实例

在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:

1. 把每个单词的首字母变为大写。
2. 把数字与字母之间用下划线字符(_)分开,使得更清晰
3. 把单词中间有多个空格的调整为1个空格。

例如:

用户输入:

you and     me what  cpp2005program

则程序输出:

You And Me What Cpp_2005_program

用户输入:

this is     a      99cat

则程序输出:

This Is A 99_cat

我们假设:用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由1个或多个空格分隔。
假设用户输入的串长度不超过200个字符。

要求考生把所有类写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。

另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。

实现实例:


import java.util.ArrayList;
import java.util.Scanner; 

//you and   me what cpp2005program
//则程序输出:
//You And Me What Cpp_2005_program 

public class Main {
  public static void main(String[] args){
    String x = new Scanner(System.in).nextLine();
    combineStr(x);
  } 

  public static void combineStr(String x){ 

    //获取处理后的数据集合
    ArrayList<String> list = repair(x); 

    //用于判断数字的字符串
    String intStr = "0123456789"; 

    //获取每个字符串进行字符的拼接转换
    String result = "";
    for(int i=0;i<list.size();i++){
      //取出一个字符
      String temp = list.get(i); 

      //初始化结果值
      result = temp; 

      //进行数字与字母的判断
      for(int k=0;k<temp.length()-1;k++){ 

        if(intStr.indexOf(temp.charAt(k))!=-1 && intStr.indexOf(temp.charAt(k+1))==-1){   // 此时判断条件为数字
          // 8a  返回替换后的字符,原字符不变
          result = result.replace(temp.substring(k, k+2), (temp.charAt(k)+"_"+temp.charAt(k+1))); 

        }else if(intStr.indexOf(temp.charAt(k))==-1 && intStr.indexOf(temp.charAt(k+1))!=-1){  //字母数字 

          result = result.replace(temp.substring(k, k+2), (temp.charAt(k)+"_"+temp.charAt(k+1))); 

        }
      }
      System.out.print(result+" ");
    }
  } 

  //获取用户输入的,去掉重复的空白符
  public static ArrayList<String> repair(String x){ 

    //保存首字符转为大写后的单词
    ArrayList<String> list = new ArrayList<String>(); 

    //用于判断数字的字符串
    String intStr = "0123456789"; 

    String[] arr = x.split(" "); 

    for(int i=0;i<arr.length;i++){
      if(!arr[i].equals("")){
        //对每一个字符进行判断
        if( intStr.indexOf(arr[i].charAt(0))==-1){  // 对应的字符为字母而不是数字,==-1表示没有找到数字,则为字母
          String newString = (arr[i].charAt(0)+"").toUpperCase()+arr[i].substring(1);
          list.add(newString);
        }else{
          list.add(arr[i]);
        }
      }
    }
    return list;
  }
}

以上就是java 字符串拼接的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Java 字符串的拼接详解

    工作日忙于项目的逻辑实现,周六有点时间,从书柜里拿出厚厚的英文版Thinking In Java,读到了字符串对象的拼接.参考着这本书做个翻译,加上自己思考的东西,写上这篇文章记录一下. 不可变的String对象 在Java中,String对象是不可变的(Immutable).在代码中,可以创建多个某一个String对象的别名.但是这些别名都是的引用是相同的. 比如s1和s2都是"droidyue.com"对象的别名,别名保存着到真实对象的引用.所以s1 = s2 String s1

  • Java中字符串拼接的一些细节分析

    工作日忙于项目的逻辑实现,周六有点时间,从书柜里拿出厚厚的英文版Thinking In Java,读到了字符串对象的拼接.参考着这本书做个翻译,加上自己思考的东西,写上这篇文章记录一下. 不可变的String对象 在Java中,String对象是不可变的(Immutable).在代码中,可以创建多个某一个String对象的别名.但是这些别名都是的引用是相同的. 比如s1和s2都是"droidyue.com"对象的别名,别名保存着到真实对象的引用.所以s1 = s2 复制代码 代码如下:

  • java拼接字符串时去掉最后一个多余逗号的方法

    本文实例讲述了java拼接字符串时去掉最后一个多余逗号的方法.分享给大家供大家参考.具体分析如下: 先看下面这段代码: for (int t = 0; t < memberLen; t++) { memTemp = stafferMap.get(strMember[t]); if(memTemp != null){ memberNames += memTemp + ","; } } 以上的代码,拼接的字符串会多一个",",比如:"str1,str2,

  • java字符串拼接与性能分析详解

    假设有一个字符串,我们将对这个字符串做大量循环拼接操作,使用"+"的话将得到最低的性能.但是究竟这个性能有多差?如果我们同时也把StringBuffer,StringBuilder或String.concat()放入性能测试中,结果又会如何呢?本文将会就这些问题给出一个答案! 我们将使用Per4j来计算性能,因为这个工具可以给我们一个完整的性能指标集合,比如最小,最大耗时,统计时间段的标准偏差等.在测试代码中,为了得到一个准确的标准偏差值,我们将执行20个拼接"*"

  • java 字符串的拼接的实现实例

    java 字符串的拼接的实现实例 在实际的开发工作中,对字符串的处理是最常见的编程任务.本题目即是要求程序对用户输入的串进行处理.具体规则如下: 1. 把每个单词的首字母变为大写. 2. 把数字与字母之间用下划线字符(_)分开,使得更清晰 3. 把单词中间有多个空格的调整为1个空格. 例如: 用户输入: you and     me what  cpp2005program 则程序输出: You And Me What Cpp_2005_program 用户输入: this is     a  

  • Java字符串去除特殊字符内容的实例

    如下所示: //带有特殊符号字符串示例 String str = "我的名字(测试)"; //去除特殊字符内容 其中的"()"为特殊字符 str.replaceAll("[^0-9a-zA-Z\u4e00-\u9fa5.,,.?""]+",""): //去除特殊符号后字符串内容: System.out.println("字符串str:" + str");// str:我的名字测

  • c语言 字符串的拼接和分割实例

    1.字符串的拼接 使用c的函数char *strcat(char *str_des, char *str_sou); 将字符串str_sou接在字符串str_des后面(放在str_des的最后字符和"\0"之间). 注意不要越界,可用strlen(input)函数求字符串长度之后再拼接. 2. 字符串的分割 使用c的函数 char *strtok(char *str_sou,constchar *str_sep); str_sou:待分割字符串.str_sep:分割符号. 第一次调用

  • JAVA字符串占位符使用方法实例

    目录 使用 replace 函数动态填充字符串 使用 String.format() 占位符替换 String.format 使用 1.占位符 2.对字符或字符串操作 3.对整数操作 4.对浮点数操作 5.对日期时间操作 补充:Java替换字符串中的占位符 总结 使用 replace 函数动态填充字符串 String str="Hello {0},我是 {1},今年{2}岁"; str = str.replace("{0}", "CSDN");

  • Java字符串split使用方法代码实例

    拆分字符串: 这个可以使用两次分割,第一次使用 | 分割,放到arr数组里,然后使用循环对arr[i]进行使用:分割 public static void main(String[] args) { String str = "张三:20|李四:40|王五:40"; String[] arr = str.split("\\|"); for (int i = 0; i < arr.length; i++) { System.out.println(arr[i])

  • Java字符串拼接的优雅方式实例详解

    目录 背景 String底层原理 拼接的方法 经典但有时不优雅的 + 优点 缺点 业务一 万能的StringBuilder 线程安全的StringBuffer 灵活的String.format() 有点绿色的concat JDK1.8优雅写法 经典的Guava 总结 背景 字符串拼接不管是在业务上,还是写算法时都会频繁使用到.对于Java来说,字符串拼接有着很多种方式,他们之间的区别是什么,对应不同的业务哪种更好用呢. String底层原理 在讨论字符串拼接时,首先需要知道String的底层原理

  • Java字符串格式化,{}占位符根据名字替换实例

    我就废话不多说了,大家还是直接看代码吧~ import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; public class StringFormatUtil { private static

  • java字符串格式化输出实例讲解

    代码如果不进行格式化的处理,那么在查阅上会浪费不少的时间.今天我们要说的是字符串的格式化处理,作为基础编程内容,相信大家都字符串都不陌生.我们可以把字符串进行连接,通过这种方法实现格式化的操作.下面我们就格式化的说明.字符串符号图解.实例带来介绍. 1.说明 java 在 JDK1.5 后对 PrintStream 功能进行了扩充,增加了格式化输出功能.直接使用 Print 即可.但是输出的时候需要指定输出的数据类型. 如果不使用格式化输出,就需要进行字符串连接,如果变量比较多,拼接就会显得繁琐

  • java 字符串截取的实例详解

    java 字符串截取的实例详解 题目 在java中,字符串"abcd"与字符串"ab你好"的长度是一样,都是四个字符. 但对应的字节数不同,一个汉字占两个字节. 定义一个方法,按照指定的字节数来取子串. 如:对于"ab你好",如果取三个字节,那么子串就是ab与"你"字的半个,那么半个就要舍弃. 如果取四个字节就是"ab你",取五个字节还是"ab你". 仅考虑GBK和utf-8编码 实例代

随机推荐