2011-07-17 8 views
1

ユーザーが入力した2つの値を加算するにはどうすればよいですか?ユーザーが入力した2つの値を加算する

import java.io.*; 

public class InputOutput { 
    public static void main(String[] args) { 
     String base=""; 
     String height=""; 

     BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); 
     try { 
      System.out.print("Input base value = "); 
      base = input.readLine(); 
      System.out.print("Input height value = "); 
      height = input.readLine(); 
     } catch(IOException e) { 
      System.out.print("Error"); 
     } 

     System.out.println("The base is "+base+height); 
    } 
} 
+0

するSystem.out.println 'と間違って何(+ベース+高さ「ベースがあります」); '? – Oswald

+1

@Oswald OPが望んでいます "ベースは" base = 2 "と" height = 3 "のときは" base + 5 + 5 "です。ここでそれは 'ベースは23です' – Nivas

+0

以下の答えの1つは受け入れられましたか? – MGwynne

答えて

2

最初に、両方の入力文字列を数字に変換します(たとえば、Integer.parseInt)。

2つの文字列(または文字列と数字)を「追加」すると、結果はこれらの文字列の連結になります。あなたは文字列としてbaseheightを扱っている現時点で

System.out.println("The base is " + (baseNumber+heightNumber)); 
+0

文字列をint型に変換しないでください。 – Zhianc

+0

@js davidはい、 'parseInt'(' int'を返す 'valueOf'と比較して、' Integer'を返します)は本当に良い選択ですが、自動的にアンボックスするので、どちらもうまくいきます。私が強調したいのは、特にint型(またはInteger型)が常に最適な選択であるとは限らないことです。 – phihag

2

:数字を加算した結果は、ので、あなたの最後の行は次のようになります、あなたが期待するように、それらの和です。

だから、あなたが持っている:+ある

base + height = "2" + "3" = "23" 

は、文字列の連結です。

あなたはint秒に変換し、それらを追加するためにInteger.parseIntを使用する必要があります。

int ibase = Integer.parseInt(base); 
int iheight = Integer.parseInt(height); 
int sum = ibase + iheight; 
System.out.println("The base is " + sum); 
1
int sum = Integer.parseInt(base)+ Integer.parseInt(height); 
System.out.println("The base is "+ sum); 
1

なぜ誰もがそれを解析したいのですか?ただ、intおよび使用baseheightの種類を変更します。

input.nextInt() 
関連する問題