2016-09-15 8 views
-3

私はアンドロイドで電卓のアプリを作成しています。それは、textBox上にあるものを匿名で計算する必要があります。例えば、私はtextBoxに1 + 2.5-5 * 8と入力します。しかし、私が追加メソッドを呼び出すと、アプリケーションがクラッシュします。入力は文字列形式で、答えは数値形式です。私は文字列バッファを使用しました。私はstringBufferに(1 + 1 + 3-1)を入力してprintln()メソッドを使って表示すると正しい答えが得られますが、editTextからその値を取るときには同じことが文字列バッファでは起こりません。電卓の最終出力の問題

+1

コードを投稿してください。 –

答えて

0

文字列を整数または浮動小数点数に変換する必要があります。

Integer.parseInt( "")メソッドを使用して整数に変換し、Float.parseFloat( "")を使用してfloatに変換します。

+0

はい私はこれを試しました。アプリケーションはNumberFormatExceptionでクラッシュします。入力テキストは(1 + 1.2 - 8)なので、最初は文字列です。文字列全体を数値形式で直接変換することはできません。 –

+0

はい@Avinashので、まず文字列を分割し、その文字列から数値を取得する必要があります。数値を抽出した後、parseIntメソッドを使用して操作を行います – Prajyot

0

まず第一にそれはあなたが質問

にコードやエラーログを追加するのであれば、私はあなたのプログラムに間違って起こっ可能性があるすべてのものをつもりカバー午前に役立つかもしれない

をStackOverflowのために歓迎します:そうInterger.parseInt(番号を使用して文字列バッファのみこちら)を使用するint型12に文字列「12」に変換されない場合がありますNumberFormatException-

  1. 十分ではありません以上の場合は時々にNullPointerException

を与えるあなたはそれのEditTextから文字列を得ることに間違いを作るかもしれない

  • (あなたが詳細を取得しますそれをグーグル)ソリューションのためのスタックとキューを使用してみてくださいコメントし、あなたのコードをできるだけ早く追加してください