2011-12-17 3 views
2

Scannerに値を整数に設定する方法を知りました。スキャナと同じ値を設定する整数を取得するには

  • 数字だけで入力行を読んで、
  • が、その後、
  • intにそれを置く、入力をとります。

    私はこれをしたい理由は、私は私のプログラムを持っているためであります

  • 、次いで、バイナリ

に番号を表示するInteger.toBinaryString(<name of int>);を使用して唯一の問題での名前が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)); 

    } 
} 

答えて

1

だから、あなたは整数にスキャナからの入力を変換する必要があります:あなたがそれを必要とする場合

は、ここに私のコードですか?

試してみてください。

int result = Integer.parseInt(input.nextLine()); 

次にあなたが書くことができる:

out.println(Integer.toBinaryString(result)); 

編集:Integer.parseIntを使用する場合は、無効な入力から発生する可能性のあるNumberFormatException秒をキャッチすることは良い考えである、例えばInteger.parseInt("foo");はそのような例外をスローします。代わりにnextLine()を使用して値を取得しInteger.parseInt使用して解析するの

+0

完全に機能しました。どうもありがとうございました。私はthoを持っている。 '.parseInt'はどういう意味ですか? – PulsePanda

+0

心配はいりません。 'parseInt'は、文字列を「解析」して整数にする行為を指します。ここでそれを読むことができます:[http://en.wikipedia.org/wiki/Parsing](http://en.wikipedia.org/wiki/Parsing)。要するに、このメソッドは文字列を受け取り、その文字列の個々の文字を解析することによって整数に変換します。この場合、無効な文字(例えば、文字)が文字列内に存在する場合、これは整数に変換することができないので、解析は失敗する。 –

+0

ああOK。感謝万円 – PulsePanda

3

、あなたは直接タイプInputMismatchExceptionの例外がスローされますinput.nextInt()

Scanner input = new Scanner(System.in); 
System.out.println(input.nextInt()); 

これを使用することができます。入力の次のトークンが要求された型の値を表していない場合生成可能な例外には、強制的な例外処理は必要ありません。

関連する問題