web-dev-qa-db-ja.com

2つのintを印刷するが、追加しない方法は?

これはばかげた質問のように思えます(すみません)。基本的にこれは私がやりたいことです:

int a = 5;
int b = 3;

System.out.print(a+b);

これで8が得られますが、5と3を出力するために空の文字列を間に置く以外の方法はありますか(intを文字列に変換することではありません)?

どうもありがとうございます。

4
F.A

Printメソッドは、引数を文字列に変換し、結果を書き出すだけです。したがって、2つの数値を連結して表示する場合は、それらを文字列に変換して(明示的に、またはすでに述べたように「」を使用して)自分で行う必要があります。

自分で文字列を作成することを避けたい場合は、おそらくprintf()メソッドを使用する必要があります。

System.out.printf("%d%d", a, b);
3
Alan

試してみてください

System.out.print(a+""+b)

または

System.out.print(a+" "+b) 

それらの間にスペースが必要な場合

1

Javaは常に算術演算子を実行します。この動作を回避するには、数値を文字列に変換する必要があります。

これはあなたのために働くはずです:

System.out.println("" + a + b);

最初は空の文字列であるため、Javaは+を連結演算子として解釈し、変数の値を空の文字列と結合します。

0
C0reTex

Printlnメソッド内のパラメータを文字列リテラルに変換する必要があります。そうすると、Javaコンパイラはそれを文字列として認識し、2つの整数を追加しません。

    System.out.println(a+""+b);

またはフォーマットメソッドを使用

    System.out.format("%d%d",a,b);
0
Shail
  1. ユーザーの明示的な文字列変換(それほど洗練されたソリューションではありません):
 
 System.out.print(new Integer(a).toString()+ b); 
 
  1. System.out.printへの順次呼び出しを使用します(新しい行は追加されません):
 [。
  1. Java.lang.StringBuilderを使用します。
 
 import Java.lang.StringBuilder; 
 ... 
 StringBuilder sb = new StringBuilder(); 
 sb.append(a); 
 sb.append(b); 
 System.out.print(sb.toString()); 
 
0
iwlagn