2016-07-25 5 views
-1

入力を受け入れる小さなテキストボックスを作成してintに変換し、そのインデックスをpiの値で返します。例私が6を入力した場合、私は9番目の値が3.14159であるので9を返します。charAt()に問題があります

これは私がこれまでに得たものですが、結果は意味をなさない。

これは関心の領域だけでは

 _tfield.addActionListener(new ActionListener(){ 

     @Override 
     public void actionPerformed(ActionEvent arg0) { 
      input = Integer.parseInt(_tfield.getText()); 
      _tfield.setText("Input: "+ input+" Output: "+ output(input)); 
     } 

     private int output(int input) { 
      String pi = Double.toString(Math.PI); 
      return pi.charAt(input+1); 

私は入力「5」のために得る答え57で、私は「ので、どんな意味がありません(注:入力はintです) 1つのchar値を求める。見知らぬ人でも、charAtの引数から+1を取り除いて53を得るのですか。

私は何が間違っているのか分かりませんが、いつも使いづらいので、そのcharAtのように感じます。しかし、私は間違っている可能性があります、任意の提案が役立つだろう。ありがとう。

答えて

0

private int output(int input);の戻り値の型がintであるため、その文字のASCII値が返されています。

希望の出力を得るには、返品タイプをcharに変更してください。

+0

それがあなたのために働くかどうか教えてください。 –

+0

問題を解決しました、ありがとうございます! – Michael