2016-05-02 9 views
1

私は自分の最初のアプリ - 電卓 - を書くことを試みて、javaに新しいです。 検索を試みましたが、類似したものは見つかりませんでした。それはASCIIまたはバイトで行うことができますか?charを実際の値に変換するにはどうすればよいですか?

char ch = '+'; 
int i = 1 ch 2; 
int = 3; 

私は何とか仕事にint型の計算のために署名+実際にchar型の+を変換したい:私は、次の例を与えるかを知りたいものを簡単にするために 。出来ますか? ありがとうございます!

+0

これは可能ですが、この方法ではありません。あなたは 'if'sまたはswitch-caseが必要です – Hackerdarshi

+1

そうではありません。実行時に式を 'String'(または少なくとも' char'型と2つの 'int's)として解析する必要があります。 –

+0

可能な複製:http://stackoverflow.com/questions/19388037/converting-characters-to-integers-in-java – Ricardo

答えて

3

これはできません。実行時に変数charの値をチェックする必要があります。

int a = 1, b = 2, result = 0; 

switch(ch) { 
    case '+': 
     result = a + b; 
     break; 
    case '-': 
     result = a - b; 
     break; 
    // et.c 
} 

// The result of the calculation is now in `result` 
+0

ありがとう!この場合、if文を使用することに切り替えることで違いはありますか? –

+0

@DeividasStrioga機能上の違いはありませんが、switch文の方がif文よりも優れたパフォーマンスを発揮します。 – SamTebbs33

-1
Character.getNumericValue(c) 

java.lang.Character.getNumericValue(char ch)は、指定されたUnicode文字が表すint値を返します。例えば、文字「\ u216C」(ローマ数字50)は、値が50のintを返します。

大文字の「AZ」(「\ u0041」〜「\ u005A」)、小文字'\ uFF3A'〜 '\ uFF7A'〜 '\ uFF5A')のフォームは10から35までの数値を持っています。これはUnicodeに依存しませんこれらのchar値には数値を割り当てません。

このメソッドは、文字の数値を負でないint値として返します。

-2文字が負ではない整数でない数値を持つ場合。

-1文字に数値がない場合-1。

関連する問題