控制台输入两个字符串怎么样合并成一个处理

J2EE 码拜 7年前 (2017-04-22) 1334次浏览
项目中需要配置excel模板,将excel每一列标题复制下来,放到数组中,由于工作量巨大,想写个小程序辅助,但是excel标题都是这样的,例如Store Name,中间带空格,写了 一个去空格的小程序,赋值进去再粘贴出来,就变成了StoreName(去掉了中间的空格),但是本人希望出来变成这样子storeName,首字母小写,于是又加了截取字符串功能将首字母转小写再拼接上去,问题是,在控制台接收输入的时候,本人发现Store Name,编译器会将其当成两个字符串来处理。只去空格还没问题,要转小写再拼接,就出问题了。贴上代码

package com.test;
import java.util.Scanner;
/**
 *  Test.java
 */
public class Test {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        while(true){
            String a = input.next();//接收输入的字符串
            String b = a.trim();//去空格
            String d = (String) b.subSequence(0, 1);//第一个字母
            String e = b.substring(1, b.length());//第二个字母到最后
            System.out.println("首字母为:"+d);
            System.out.println("第二个字母到最后:"+e);
        }    
    }  
}

输入Store Name回车,打印出的结果是:
首字母为:S
第二个字母到最后:tore
首字母为:N
第二个字母到最后:ame
可以看出编译器将Store 与Name当作两个字符串来处理了
本人希望出现的结果:
首字母为:S
第二个字母到最后:toreName
求指导答

解决方案

10

将input.next()换成input.nextLine()即可

10

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
while (true) {
String a = input.nextLine();// 接收输入的字符串
String b = a.trim();// 去空格
String d = (String) b.subSequence(0, 1);// 第一个字母
String e = b.substring(1, b.length());// 第二个字母到最后
System.out.println(“首字母为:” + d);
System.out.println(“第二个字母到最后:” + e);
}
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明控制台输入两个字符串怎么样合并成一个处理
喜欢 (0)
[1034331897@qq.com]
分享 (0)