package 小组作业; import java.util.Scanner; public class day2 { private static StringBuffer modify(StringBuffer s) { StringBuffer str = new StringBuffer("We are happy."); for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == ' ') { str.replace(i, i+1, "%20"); } } return s; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); StringBuffer str = new StringBuffer(sc.nextLine()); System.out.println(modify(str)); } }不出结果
时间: 2024-02-14 11:10:12 浏览: 181
java代码-import java.util.Scanner;
5星 · 资源好评率100%
这段代码没有正确调用 `modify()` 方法。在 `main()` 方法中,你应该传入读取到的字符串 `str`,而不是固定字符串 `We are happy.`。此外,在 `modify()` 方法中,你也没有使用传入的参数 `s`,而是使用了固定字符串 `We are happy.`,这也是不正确的。
修改 `modify()` 方法中的代码,使用传入的字符串 `s`:
```
private static StringBuffer modify(StringBuffer s) {
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ' ') {
s.replace(i, i+1, "%20");
}
}
return s;
}
```
修改 `main()` 方法中的代码,传入读取到的字符串 `str`:
```
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuffer str = new StringBuffer(sc.nextLine());
System.out.println(modify(str));
}
```
这样就可以正确读取用户输入的字符串,并将其中的空格替换成 `%20`。
阅读全文