java - 如何在Java中的句子/字符串中打印每个其他单词(不是单个字符)?
问题描述
我想打印一个句子/字符串中的所有其他单词。并且在输出中,第一个字母应该是大写的。
例子:
Enter a string: Hello how are you doing today?
The resulting string is:
How you today?
这是我尝试过的代码。它工作正常,但我想改进代码。请让我知道可以在代码中进行哪些改进。我与 StringBuilder 的合作不多。所以,我想用它编写代码,或者我是否可以使用不同的函数编写代码。
提前致谢。
import java.util.*;
public class Main{
public String skipWords(String str){
String a ="";
String[] wordsArr = str.split(" ");
for(int i = 0 ; i< wordsArr.length; i++){
if(i%2 != 0)
a= a+wordsArr[i] + " ";
else
a = a.replace(wordsArr[i]," ");
}
return a;
}
public String fCapital(String str){
String f = str.substring(0, 1);
String r = str.substring(1);
f = f.toUpperCase();
String c = f + r;
return c;
}
public static void main(String[] args){
String result = "";
Main obj = new Main();
Scanner sc= new Scanner(System.in);
System.out.print("Enter a string: ");
String str= sc.nextLine();
String w = obj.skipWords(str);
result = obj.fCapital(w);
System.out.println("The resulting string is: ");
System.out.println(result);
}
}
解决方案
看一看:
public String skipWords(String sentence) {
String[] words = sentence.split(" ");
StringBuilder result = new StringBuilder();
for (int i = 1; i < words.length + 1; i += 2) {
result.append(words[i]).append(" ");
}
return result.toString();
}
- 有意义的变量名。
- StringBuilder而不是
+
运算符。
推荐阅读
- java - maven 如何决定构建什么类型的项目以及如何控制单个 maven 项目中的多个模块?
- javascript - 检索 CSSStyleDeclaration 原生 Javascript 对象的键
- python - 如何将 .csv 的元素拆分为两个单独的列表
- python - 按具有相似字符串的列合并两个 csv 文件
- r - 是否有任何功能可以将标记单击闪亮的 leflet 分开
- c# - 我应该将使用 DDD 和 CQRS 方式刷新访问令牌的代码放在哪里?
- javascript - 标记模板字符串和闭包的问题
- python - 循环数据框并根据 Pandas 中的子字符串选择行
- c++ - c++ std::packaged_task 调用抛出系统异常?
- firebase - 无法将 Firebase 存储映像的 Url 添加到实时数据库