Java 为什么这会引发InputMismatchException?
text.txt是:Java 为什么这会引发InputMismatchException?,java,int,mismatch,Java,Int,Mismatch,text.txt是: public class Test { public static void main(String[] args) throws FileNotFoundException { Scanner input = new Scanner("text.txt"); int x = input.nextInt(); } } 此代码引发输入不匹配异常。为什么?那是因为“text.txt”不是一个数字。尝试:
public class Test
{
public static void main(String[] args) throws FileNotFoundException
{
Scanner input = new Scanner("text.txt");
int x = input.nextInt();
}
}
此代码引发输入不匹配
异常。为什么?那是因为“text.txt”
不是一个数字。尝试:
8
8
6
7
这是因为“text.txt”
不是一个数字。尝试:
8
8
6
7
构造函数接受从中读取的字符串,而不是文件名
因此,nextInt()
试图从传递给它的字符串中读取int
,即“text.txt”
相反,使用接受文件
源的构造函数。构造函数接受要读取的字符串,而不是文件名
因此,nextInt()
试图从传递给它的字符串中读取int
,即“text.txt”
相反,请使用接受
文件
源代码的构造函数。问题是由于过载。您正在调用新扫描仪(字符串),而不是新扫描仪(文件)。如果您尝试scanner.next(),您会看到它返回“text.txt”问题是由于过载。您正在调用新扫描仪(字符串),而不是新扫描仪(文件)。如果您尝试scanner.next(),您会看到它返回“text.txt”我想您指的是“file”。)不:)我真的是指数字。我应该说:text.txt
是一个不包含数字的字符串。我想你指的是“文件”。)不:)我真的是指数字。我应该说:text.txt
是一个不包含数字的字符串。