能不能不用scanner对象完成
时间: 2023-06-30 18:19:24 浏览: 52
当然可以,Java 中还有其他方式可以完成从键盘输入字符串的操作。例如,我们可以使用 `BufferedReader` 和 `InputStreamReader` 来读取输入流。
以下是使用 `BufferedReader` 和 `InputStreamReader` 实现的代码示例:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String s = reader.readLine();
if (s.toLowerCase().equals("e") || s.toLowerCase().equals("exit")) {
break;
}
System.out.println(s.toUpperCase());
}
reader.close(); // 记得关闭 BufferedReader 对象
}
}
```
这段代码实现的功能和之前的示例是一样的,只是使用了不同的输入方法。在这个例子中,我们使用 `BufferedReader` 对象的 `readLine()` 方法来读取输入的字符串,并使用 `InputStreamReader` 对象将标准输入流转换成字符流。
需要注意的是,在使用 `BufferedReader` 时,我们需要在代码中抛出 `IOException` 异常,或者使用 `try-catch` 语句捕获它。同时,在程序结束时,我们也需要显式地调用 `BufferedReader` 对象的 `close()` 方法来关闭它,以避免资源泄漏。