new scanner(system.in);报错
时间: 2023-04-18 14:02:00 浏览: 187
这个错误是因为在Java中,Scanner类的构造函数需要传入一个InputStream类型的参数,而system.in是一个静态的InputStream类型的变量,所以应该写成new Scanner(System.in)。注意System的首字母要大写。
相关问题
Scanner scanner = new Scanner(System.in);为什么报错
该行代码可能报错的原因有很多,以下是可能的一些原因:
1. 缺少导入语句:如果你没有导入 java.util.Scanner 类,那么编译器将无法识别 Scanner 类并报错。你需要添加以下导入语句:
```
import java.util.Scanner;
```
2. 没有创建 Scanner 实例:即使你导入了 Scanner 类,如果你没有创建 Scanner 类的一个实例,那么编译器仍然无法识别你的代码。你需要添加以下代码:
```
Scanner scanner = new Scanner(System.in);
```
3. 程序运行环境的问题:在某些情况下,程序可能无法在你的计算机上运行。例如,如果你的计算机没有正确配置 Java 运行环境,那么你的程序可能无法运行。你可以尝试重新安装 Java 运行环境并重新运行程序。
public static void main(String[] args) { HashMap<String,String>map=new HashMap<>(); System.out.println("-------欢迎使用学生管理系统-------"); System.out.println("请选择查询信息"); System.out.println("老师,学生,科目"); Scanner scanner=new Scanner(System.in); String number=scanner.nextLine(); switch (number) { case"老师": System.out.println("请输入想要存储老师的人数"); Scanner scanner1=new Scanner(System.in); int number1=scanner.nextInt(); System.out.println("请先输入老师的信息:"); for (int i=1;i<=number1;i++) { Scanner scanner2=new Scanner(System.in);//往哈西表里存老师的信息并输出; String key=scanner.nextLine(); String value=scanner.nextLine(); map.put(key,value); } for (String key : hashMap.keySet()) { String value = hashMap.get(key); System.out.println(key + ":" + value); } } }这段代码为啥会报错
这段代码会报错是因为在遍历 HashMap 的时候,使用了错误的变量名。在 for 循环中,应该使用 `map` 而不是 `hashMap`。
以下是代码修改后的正确版本:
```
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
System.out.println("-------欢迎使用学生管理系统-------");
System.out.println("请选择查询信息");
System.out.println("老师,学生,科目");
Scanner scanner = new Scanner(System.in);
String number = scanner.nextLine();
switch (number) {
case "老师":
System.out.println("请输入想要存储老师的人数");
Scanner scanner1 = new Scanner(System.in);
int number1 = scanner.nextInt();
System.out.println("请先输入老师的信息:");
for (int i = 1; i <= number1; i++) {
Scanner scanner2 = new Scanner(System.in);
String key = scanner.nextLine();
String value = scanner.nextLine();
map.put(key, value);
}
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println(key + ":" + value);
}
}
}
```
这样就可以正确地往 HashMap 中存储信息,并遍历输出它们了。
阅读全文