我想从字符串打印第一个字母,然后在小写的空格后打印字符而不使用拆分功能

时间:2017-09-06 11:12:18

标签: java

这是我的问题:我想在不使用分割功能的情况下进行打印

输入:Rushikesh Balchand Chaudhari

输出:Rushikesh.b.c

class Test {
public static void main(String[] args) {
    String str = "Rushikesh  Balchand Chaudhari";
    String [] arr = str.split("\\s+");
    StringBuilder builder = new StringBuilder(arr[0]);
    for(int i =1 ; i < arr.length ;i++){
        builder.append(".");
        builder.append(arr[i].toLowerCase().charAt(0));
    }
    System.out.println(builder);
}

}

2 个答案:

答案 0 :(得分:1)

这是你的答案

 String h="Number Of White Spaces";
   StringBuilder sb=new StringBuilder();
    ArrayList< Integer> al=new ArrayList<>();
    for(int i=0;i<h.length();i++){

        if(h.charAt(i)==' '){

                al.add(i);
        }
    }

    for(int l=0;l<al.size();l++){
        int a=al.get(l);    
        if(l==0){
            sb.append(h.substring(l,a));
            sb.append('.');
            sb.append(h.substring(a+1,a+2).toLowerCase());
        }
        else{

            sb.append('.');
        sb.append(h.substring(a+1, a+2).toLowerCase()); 
        }
    }


System.out.println(sb.toString());

<强> OUTPUT - &GT; Number.o.w.s

答案 1 :(得分:0)

这是代码::

您只需要检查索引并使用一些布尔值来实现此目的。

您还可以优化此代码。

class test {
    public static void main(String[] args) {
        String str = "Rushikesh Balchand Chaudhari";
        boolean isWhiteSpace = false;
        boolean afterWhitespace = false;
        StringBuilder builder = new StringBuilder();
        for(int i = 0 ; i < str.length() ; i++){
            if(str.charAt(i) == ' '){
                isWhiteSpace =true;
                afterWhitespace = true;
            }
            else if (str.charAt(i) != ' ') {
                if(!afterWhitespace){
                    builder.append(str.charAt(i));
                }
                if(isWhiteSpace && afterWhitespace){
                    builder.append(".");
                    builder.append(str.toLowerCase().charAt(i));
                    isWhiteSpace = false;
                }
            }
        }
        System.out.println(builder);
    }
}