如何获得一个整数来设置与扫描仪相同的值

时间:2011-12-17 03:37:57

标签: java binary int java.util.scanner

我想知道如何让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));

    }
}

2 个答案:

答案 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");会抛出这样的例外。