2016-07-25 127 views
-1

我試圖做一個接受輸入的小文本框,將其轉換爲int,然後返回pi的值中的該索引。例如,如果我輸入6,我想返回9,因爲3.14159第六個值是9.遇到問題charAt()

這是我到目前爲止,它的工作原理,但結果沒有任何意義。

這是唯一感興趣的區域(注:輸入是一個int):

 _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,因爲我不作任何意義米問它1個字符的價值。更奇怪的是,如果我從charAt參數中刪除+1,(仍然輸入5)我得到53.

我不知道什麼是錯,但我覺得它的charAt因爲它總是很難使用。但是,我可能是錯的,任何建議都會有所幫助。謝謝。

回答

0

因爲你的方法private int output(int input);的返回類型是int這就是爲什麼它返回字符的ascii值。

將您的返回類型更改爲char以獲得所需的輸出。

+0

讓我知道如果這對你有用.. –

+0

解決了這個問題,謝謝! – Michael