编写一个程序输入一个字符串,然后在不颠倒句子的情况下以相反的顺序打印所有单词bluej ICSE java

问题描述

我以前写过程序以相反的顺序打印整个字符串,但这个问题要求你颠倒单词并保留它在句子中的原始位置。 示例输入:“真的很黑” 预期输出:“tI si yllaer krad”

我也尝试用 bluej 编写这个程序......如下:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h5 class="formatvalue" style="text-transform:uppercase;">12345.67</h5>

<hr>
<div id="result"></div>

但由于某些未知原因,这根本没有提供任何输出 如果有人能指出我代码中的问题或自己编写这个程序,我将不胜感激。另外,请记住,我只是一个初学者,所以除了与字符串严格相关的函数外,请不要使用任何其他内置函数

解决方法

public static void main(String[] args) throws IOException {
    String str = "It is really dark";
    System.out.println(reverseWords(str));  // tI si yllaer krad
}

public static String reverseWords(String str) {
    StringBuilder buf = new StringBuilder(str.length());

    for (String word : str.split("\\s+")) {
        if (buf.length() != 0)
            buf.append(' ');

        for (int i = word.length() - 1; i >= 0; i--)
            buf.append(word.charAt(i));
    }

    return buf.toString();
}
,
public void disp(String s) {  
    // you will start from last character,all the way back to first  
    for (int i = s.length(); i>=0; i++) {  
        // here you will print out character at the index,right to left  
        System.out.print(s.charAt(i));  
    }  
}