import java.util.*; import java.util.Scanner; class Solution { /** * 反转字符串 * @param str string字符串 * @return string字符串 */ public static void main(String arg[]) { public String solve (String str) { Scanner Scanner = new Scanner(System.in); String str1 = Scanner.nextLine(); StringBuffer StringBuffer = new StringBuffer(str); StringBuffer.reverse(); String str2 = StringBuffer.toString(); System.out.println(str2); } } }
时间: 2024-02-07 21:03:46 浏览: 86
java中读取数据的几种方法.doc
这段代码有一些问题,需要进行修改。其中,主要问题是在 `solve` 方法中定义了一个 `Scanner` 对象,但是该对象并没有被使用,同时在 `main` 方法中定义了一个 `public` 方法,这也是不合法的。此外,`Scanner.nextLine()` 方法应该传入的是参数 `str`,而不是创建一个新的字符串对象 `str1`。根据你的问题,我猜测你想要的是一个 Java 实现的字符串反转函数,可以尝试以下代码:
```java
class Solution {
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
public String solve (String str) {
StringBuffer sb = new StringBuffer(str);
return sb.reverse().toString();
}
}
```
以上代码定义了一个 `Solution` 类,并在其中定义了一个名为 `solve` 的方法,用于反转传入的字符串。在该方法中,我们首先创建一个 `StringBuffer` 对象,并将其初始化为传入的字符串 `str`。然后,我们调用 `reverse` 方法将其反转,并将结果转换为字符串返回。
如果你想要测试该函数,可以在 `main` 方法中调用它,并将结果打印出来,如下所示:
```java
public static void main(String[] args) {
Solution solution = new Solution();
String str = "hello world";
String reversedStr = solution.solve(str);
System.out.println(reversedStr);
}
```
以上代码在 `main` 方法中创建了一个 `Solution` 对象 `solution`,并将字符串 `"hello world"` 传入 `solve` 方法中进行反转。然后,将反转后的结果打印出来。
阅读全文