如何解决编写一个程序输入一个字符串,然后在不颠倒句子的情况下以相反的顺序打印所有单词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));
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。