我是 Java 字符串的新手。 其实我有反转单词的代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test2 {
public static void main(String[] args) throws IOException
{
System.out.println("enter a sentence");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String rev =br.readLine();
String [] bread = rev.split(" ");
for(int z =bread.length-1;z>=0;z--)
{
System.out.println(bread[z]);
}
}
}
对于上面的代码,我得到:
Input :Bangalore is a city
Output: City is a Bangalore
但我希望输出如下所示:
Input: Bangalore is a city
Output:cityaisba ng a lore
另一个例子:
Input: Hello Iam New To Java.Java is object Oriented language.
Output: langu age Ori en tedo bjec ti sjava. javaToNe wIamolleH
请帮帮我
最佳答案
这是您可以做到的一种方法:
String rev = br.readLine();
String [] bread = rev.split(" ");
int revCounter = 0;
for(int z = bread.length - 1; z >= 0; z--)
{
String word = bread[z];
for(int i = 0; i < word.length(); i++)
{
// If char at current position in 'rev' was a space then
// just print space. Otherwise, print char from current word.
if(rev.charAt(revCounter) == ' ')
{
System.out.print(' ');
i--;
}
else
System.out.print(word.charAt(i));
revCounter++;
}
}
关于java - 根据第一个单词的长度反转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36591257/