java: 无法将类 Scanner.Scanner中的构造器 Scanner应用到给定类型; 需要: 没有参数 找到: java.io.InputStream 原因: 实际参数列表和形式参数列表长度不同
时间: 2024-09-06 12:04:49 浏览: 76
这个错误信息表明你在使用Java的`Scanner`类时出现了问题。`Scanner`类用于从不同的源读取原始类型和字符串值。错误信息指出你试图使用一个不正确的构造函数,具体来说,你尝试使用了一个需要`java.io.InputStream`参数的构造函数,但是你没有提供任何参数。
`Scanner`类有多个构造函数,例如,你可以使用以下两种构造函数之一来创建`Scanner`对象:
- `Scanner(File source)`:使用指定的`File`对象创建`Scanner`。
- `Scanner(InputStream source)`:使用指定的`InputStream`创建`Scanner`。
如果你想要创建一个`Scanner`对象而不需要任何参数,你应该使用一个不需要参数的构造函数,例如:
- `Scanner(String source)`:使用指定的字符串作为源来创建`Scanner`。
如果你的目的是从标准输入(键盘)读取数据,你应该使用`System.in`作为参数,它是一个`InputStream`类型的对象,可以与`Scanner(InputStream source)`构造函数一起使用:
```java
import java.util.Scanner;
import java.io.InputStream;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 正确的方式
// 使用 scanner 对象进行数据读取操作
}
}
```
在上述代码中,我们没有遇到错误,因为我们使用了正确的构造函数`Scanner(InputStream source)`来创建`Scanner`对象。
阅读全文