我想知道如何让Scanner
将其值设置为整数。
我想这样做的原因是因为我有我的程序:
int
,Integer.toBinaryString(<name of int>);
以二进制显示数字唯一的问题是HAS中的名称是int;它不能是String
。
如果您需要,这是我的代码:
package base.pkg10.to.binary.txt.converter;
import java.util.Scanner;
import static java.lang.System.out;
public class Base10ToBinaryTXTConverter {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int output;
out.println("This converts base 10 numbers to binary numbers.");
out.println("Please enter your Base 10 Number:");
out.println("Please wait...");
out.println("Your numeber in Binary is:");
out.println(Integer.toBinaryString(input));
}
}
答案 0 :(得分:3)
而不是使用nextLine()
获取价值并使用Integer.parseInt
进行解析,您可以直接使用input.nextInt()
Scanner input = new Scanner(System.in);
System.out.println(input.nextInt());
这将抛出类型InputMismatchException
的异常。如果输入中的下一个标记不表示所请求类型的值。可以生成的异常不需要强制异常处理。
答案 1 :(得分:1)
那么,您需要将扫描仪的输入转换为整数吗?
尝试:
int result = Integer.parseInt(input.nextLine());
然后你可以写:
out.println(Integer.toBinaryString(result));
修改:使用Integer.parseInt
时,最好抓住因无效输入而产生的任何NumberFormatException
,例如Integer.parseInt("foo");
会抛出这样的例外。