这是我的问题:我想在不使用分割功能的情况下进行打印
输入: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);
}
}
答案 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);
}
}