java - 根据第一个单词的长度反转字符串

标签 java string

我是 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/

相关文章:

python - 如何修复此 "TypeError: ' str' 对象不可调用“错误?

c# - 用下划线替换字符串空格

c++ - 为什么零字符后面的内容没有赋值?

java - 无法将 SQLite 数据库从 Assets 复制到另一个区域

java - findbug 中 Possible null pointer dereference 是什么意思?

java - 在 Java 中将文本文件放入二维不规则数组中

Python MySQL 在 Blob 中插入和检索列表

java - 使用 Overlay 连接从 Android 数据库中获取的 GPS 坐标

java - 只是Java中的一个小递归问题

java - 如何使用 Microsoft Java-Client 接收 SignalR 广播消息?