Java 我想打印字符串中的第一个字母,然后在不使用拆分函数的情况下以小写形式打印空格后的字符
我的问题是:我想这样打印而不使用拆分功能 输入:Rushikesh Balchand Chaudhari 产出:Rushikesh.b.cJava 我想打印字符串中的第一个字母,然后在不使用拆分函数的情况下以小写形式打印空格后的字符,java,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 Strin
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);
}
}以下是代码:
您只需要检查索引,并使用一些布尔值,它就可以达到这个目的
您还可以优化此代码
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);
}
}
这是你的答案
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());
输出->
Number.o.w.s您尝试过单步执行代码吗?如果str1没有空,则str1.substringstr1.indexOf中会显示什么,1?您在if块之后修改了原始字符串。现在没有空间了。indexOf现在将返回-1。