初学java,在听课时跟着老师敲代码,学到了scanner,希望用hasNext等方法,判断在键盘上输入的数据,我照着代码敲但是在中间报错,如下图
因为不了解,我就试着根据上面的提示,按住Alt+Shift+Enter键,然后就出现如下代码:
之后程序便不会报错了,我不知道是编译器版本的问题,还是scanner更新了,没有那些方法,我也不太会看官方文档,虽然程序不会报错,但是他只是自动给你定义了一个空的方法,并没有它原来方法的功能,我现在能想到的办法就是把方法补全。然而结果不是这样的,Scanner并没有删除他的方法,而是我犯了一个最基本也是最致命的错误,希望大家有人看到的话不要再犯。
在java文件命名的时候千万不要用关键字命名!!!!这是致命的,我还以为是Scanner类改变了,最后仔细一看,原来是命名的问题,只要换一个名字就可以运行了。
修改后的代码如下
package com.zhaozhao.java基础学习.scanner;
import java.util.Scanner;
public class demo1 {
public static void main(String[] args) {
//创建一个扫描机对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
System.out.println("请输入内容:");
//判断用户有没有输入字符串
if (scanner.hasNext()){
//使用next方式接收
String str = scanner.next();//程序会等待用户输入完毕
System.out.println("输入的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
scanner.close();
}
}