扫描仪更具特色?

时间:2014-12-16 03:38:41

标签: java integer java.util.scanner

我有一个像这样的

的扫描仪
Scanner telnumscanner = new Scanner(System.in);
System.out.print("Entrez phone number: \n");
int telnum = telnumscanner.nextInt();

我在那里输入了一个电话号码样式(0000000000--10个数字)但是当我输入号码时,它会崩溃。

3 个答案:

答案 0 :(得分:5)

您正在读取的数字太大而无法被int类型保存为整数变量。通常,您不应将电话号码信息存储在数字数据类型中。考虑将此信息存储在String

请参阅telnumscanner.nextLine()

答案 1 :(得分:2)

因为Java int的允许范围介于-2,147,483,6482,147,483,647之间。尝试读取高于2,147,483,647的10位数值将产生异常。

要解决而不是使用nextInt(),请使用nextLong()并将输入读入long类型的变量。或者,不要使用数字类型来存储电话号码,而是将其存储为字符串。

答案 2 :(得分:2)

尝试将其存储为长时间。

long telnum = telnumscanner.next();

长期可以存储从-9223372036854775808到9223372036854775807的值

我相信你也可以使用next()而不是nextLong()。如果我错了,有人会纠正我。