Java 按相反顺序连续打印单词?
任务: 编写一个程序来显示这样的输出,其中输入在运行时给出 样本输入: 我的名字是拉格哈文德拉 样本输出: ym名称si raghavendra 以下是我到目前为止的情况:Java 按相反顺序连续打印单词?,java,Java,任务: 编写一个程序来显示这样的输出,其中输入在运行时给出 样本输入: 我的名字是拉格哈文德拉 样本输出: ym名称si raghavendra 以下是我到目前为止的情况: import java.util.*; class ReverseString2 { public static void main(String[] args) { Scanner sc = new 根据你的问题,我会使用StringBuilder。因为,当索引为偶数时,它有一个有用的函数。我相
import java.util.*;
class ReverseString2 {
public static void main(String[] args) {
Scanner sc = new
根据你的问题,我会使用StringBuilder。因为,当索引为偶数时,它有一个有用的函数。我相信你想要像这样的东西
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String line = sc.nextLine();
// The \\s+ pattern matches one or more white-space characters.
String[] words = line.split("\\s+");
for (int i = 0; i < words.length; i++) {
if (i != 0) {
System.out.print(' ');
}
StringBuilder sb = new StringBuilder(words[i]);
// Reverse every other word.
if (i % 2 == 0) {
sb.reverse();
}
System.out.print(sb);
}
System.out.println();
}
}
另一个解决方案是使用charAt。代码看起来与此类似:
public String invertEvenWords(String line) {
String result = "";
String[] words = line.split("\\s+");
for (int i = 0; i < words.length; i++) {
/* The n-th word is reversed if n i even. */
if (i % 2 == 0) {
String inv = "";
for (int j = 0; j < words[i].length(); j++) {
char ch = words[i].charAt(j);
inv = ch + inv;
}
result += inv + " ";
/* Otherwise the word isn't reversed. */
} else {
result += words[i] + " ";
}
}
return result;
}
这就是不提问的方式!!请正确格式化您的问题,并显示您尝试过的不起作用的内容