2017-03-17 20 views
-4

Scanner.nで作成された文字列から数値を変換し、その後charAtを使用して各数値をintに変換します。数値型の文字列をintに変換した

 import java.util.Scanner; 
     public class NoClueHowToDo 
     { 
       public static void main (String[] args) 
       { 
    int i=0; 
    int k =0; 
     for(i=0;i<langd;i++){ 
     value+k++=text.charAt(i); 
    values=length-i; 
      numbers2 = numbers.charAt(i); 
      numbers3 = numbers2 - 48; 
     } 
    } 

} 
} 
     } 
     } 
} 
+0

どのようにいくつかのコードについて! –

+2

'charAt'は"数値をintに変換しません "。 ['Integer.parseInt'](https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html#parseInt-java.lang.String-)を意味しますか? – khelwood

+0

何らかの理由で質問を破棄しないでください。質問を削除する場合は、質問の下に「編集」と同じ行にリンクがあります。 –

答えて

2

なぜスキャナのnextInt()メソッドを使用しないのですか? これがintを読み込む方法です。もちろん

Scanner sc = new Scanner(System.in); 
int i = sc.nextInt(); 

入力は、次の例外をスローかもしれない整数に変換できない場合、それは例外をスローすることができます

  • InputMismatchExceptionを - 次の場合トークンがInteger正規表現と一致しないか、範囲外です。
  • NoSuchElementException - 入力が使い果たされた場合
  • IllegalStateException - このスキャナが閉じている場合

問題を回避するためにsc.nextInt()呼び出しの周りにtry-catchをラップしてください。また

あなたがここにScanner.nextInt()クラスのドキュメントを見てみることができますしたい場合:どのように私たちを表示するhttp://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextInt()

+0

許可されていません2使用.nextInt – Bluebetty

+1

@Bluebettyこれはチャットサイトではありません。あなたの言葉を綴ってください。それは "to"のようなものではなく、 "2"よりも入力するのがはるかに長いです。 – Andreas

+0

@Bluebettyスキャナは使えますが、nextInt()は使用できません。 Scanner.next()メソッドを使用して、その文字列で新しいIntegerオブジェクトを初期化できますか? –