Javaで変数をつなげて表示する方法

このQ&Aのポイント
  • Javaで変数をつなげて表示する方法について解説します。
  • PHPで可能なように、Javaでも変数をつなげて表示することができます。
  • 様々な方法がありますが、System.out.printlnメソッドや+演算子を使用することで実現できます。
回答を見る
  • ベストアンサー

Javaで、変数をつなげて表示することは可能ですか?

Javaで、変数をつなげて表示することは可能ですか? 最近Javaを学び始めた、Java初心者です。 PHPで、二つの変数(数値)を echo $変数1.$変数2; で、変数1と変数2をつなげて表示できるように Javaで変数(int型やdouble型)をつなげて表示(変数の結合?)することは可能でしょうか? もしくは  System.out.println(変数1+""+変数2); や System.out.println(変数1+" "+変数2); または、 print を二回使う のようなやり方でないとできないのでしょうか? 特にこれを使ってやりたいということがあるわけではありませんが 気になったので質問させて頂きました。    

noname#126691
noname#126691
  • Java
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 PHPにおいて$変数1.$変数2はPHP君が文字列への変換を自動で行ってくれるからできる。  Javaではできないのは、Java君が文字列への変換を自動で行ってはくれないからなんだ。ところで、 System.out.println(変数1 + 変数2); だと変数1と変数2の値が足されたものが表示されるのに、 System.out.println("" + 変数1 + 変数2); だとあなたが求めている結果になるのは、Java君は「文字列に対して数値を足そうとする時は数値を文字列に直す」という特例を持っているから(正確にはちょっと違う。この辺の話を詳しく知りたいならString StringBuilder StringBufferなどをキーワードに検索してみると良いだろう。)。 「なんでPHPはできてJavaはできないの?」という疑問に対しては、それはやっぱり言語によってルールが違うからとしか言いようがない。なので、複数の言語を触るようになったらそれぞれの言語でのルールをしっかり区別しながら作らなきゃいけない。まぁ、郷に入っては郷にしたがえって事だ。

関連するQ&A

  • javaについて

    以下のようにキーボードから入力していくプログラムを試行しているのですが、エラーが出てくるので行き詰まっています。 理想的にはキーボードに”あいう”エンター”えおか”エンターと打ち込んだら str[0]=あいう str[1]=えおか と表示させていきたいのですが、よろしくお願いします。 import java.io.*; import java.lang.*; import java.net.*; import java.awt.*; class gugu2 { public static void main(String[] args) throws IOException { int i=0; while(i<2){ System.out.println("キーワード入力"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); char str[] = input.toCharArray(); System.out.println("キーワードは" + str[]); i=i+1; } for(i=0;i<2;i++){ System.out.println(str[]); } } } これがエラー表示です。 gugu2.java:17: '.class' がありません。 System.out.println("キーワードは" + str[]); ^ gugu2.java:21: '.class' がありません。 System.out.println(str[]); ^ エラー 2 個

    • ベストアンサー
    • Java
  • 配列の乱数と平均値、個数表示

    0から9までの整数乱数を100個発生させ、100個の乱数の平均値も合わせて出力し、0から9それぞれの個数を数えるための変数に必ず配列を用いるプログラムを下記に作成したんですけども、出現個数カウント用の変数を10個用意していけないという条件で出現個数カウント用の配列を用意し、 結果が、 7 7 1 7 3 9 1 2 5 0 0 3 6 8 4 9 1 4 2 4 8 2 4 2 6 0 9 3 5 8 6 6 6 2 0 9 5 2 6 9 5 0 5 3 9 2 6 7 0 6 1 4 1 1 1 9 7 0 5 0 6 9 7 4 9 9 7 5 3 6 1 9 6 6 6 7 1 2 6 1 4 9 1 3 1 3 7 0 0 8 1 9 3 2 9 4 4 5 4 0 0 *********** 11 1 ************* 13 2 ********* 9 3 ******** 8 4 ********** 10 5 ******** 8 6 ************** 14 7 ********* 9 8 **** 4 9 ************** 14 平均 4.4 に表示されるプログラムがわかりません、Java初心者なので作ったプログラムのどこを直せばいいのか教えてください。 class Kadai06_5 { public static void main(String args[]) { int n=10; int a[] = new int[n]; int i; int sum=0; double avg=0; for(i=0; i<100; i++){ System.out.print((int)(Math.random()*10)); sum +=(int)(Math.random()*10); } for(i=0; i<n; i++){ System.out.println(); } avg=(double)sum/100; System.out.println("平均"+avg); } }

    • ベストアンサー
    • Java
  • Javaコンパイルエラー

    Javaにて以下のようなプログラムを作成していますが、 「演算子 ^ は引数の型 double, int で未定義です。」とエラーになりました。 色々な方のご協力もあり、ここまで作れましたが、 これより先が行き詰っています。 教えていただけないでしょうか。 ---------------------------------------------- // 分散を返すメソッド public class Kadai16 { public static void main(String args[]){ //double型の配列の生成 double[]a=new double[10]; argument(a); //配列aの要素[0]から[9]の内容を表示 System.out.println(a[0]); System.out.println(a[1]); System.out.println(a[2]); System.out.println(a[3]); System.out.println(a[4]); System.out.println(a[5]); System.out.println(a[6]); System.out.println(a[7]); System.out.println(a[8]); System.out.println(a[9]); //double total=sum(a)を実行する double total =sum(a); System.out.println("合計は"+total+"です。"); //使って平均を出す double heikin; mean(total); heikin = mean(total); System.out.println("平均は"+heikin+"です。"); //分散を返す double bunsan; bunsan = total-heikin^2/10; System.out.println("分散は"+bunsan+"です。"); } /** * ランダムな数値を入れるメソッド * @param a ランダムな数値を入れる配列 */ private static void argument(double[]a) { //引数の配列aの[0]から[9]までランダムな数値を設定する。 for(int i=0; i<a.length;i++) { a[i]=Math.floor(Math.random()*10); } } //配列を受け取って要素の合計を出すメソッド public static double sum(double[] x) { double t=0; for(int i=0; i<x.length;i++) { t= x[i]+t; } return t; } //配列を受け取って平均を出すメソッド public static double mean(double b) { return b/10; } //分散を返すメソッド public static double bunsan(double c) { double t=0; double bnsan =0; for(int i=0; i<c.length; i++) { t =c[i]+t } } }

  • ウインドウ上で変数を表示する方法はありますか?

    ウインドウ上で変数を表示する方法はありますか? system.out.println()ではコマンドプロンプトだけで表示されるので それをウインドウを作成して表示させたいんです。 よろしくお願いします。 import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.awt.Graphics; class PrefFrame extends Frame { public PrefFrame(String title) { //フレームのタイトル setTitle(title); //ウィンドウを閉じる時 addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } } public class xptable { public static void main(String[] args) { PrefFrame frm = new PrefFrame("ラテーブル"); frm.setLocation(300, 200); frm.setSize(600, 480); frm.setBackground(Color.black); frm.setVisible(true); double exp = 0; int Lv = 1; double xp = 1900; double cxp = 0; while(Lv < 200){ if (cxp>xp){ Lv = Lv+1; System.out.println("レベル"+ Lv +"になりました。おめでとうございます。"); xp = xp*1.1; } else { exp = Math.round((Math.random()*90000000)); System.out.println((int)Math.floor(exp) + " 経験値獲得しました。");/*切捨て*/ cxp = cxp+exp; } } } }

  • Javascriptで変数名を表示するにはどうすれば良いですか?

    Javascriptで変数名を表示するにはどうすれば良いですか?PHPではprintとかechoで出ますよね?初心者です教えてください

  • JAVAのfor文で困っています。

    JAVAの勉強をしていますが、本の練習問題でわからなくて困っています。for文で以下の処理を行いたいです(do,whileはなしです)が、 *を5個ごとに改行したいのですが、改行してくれません。 問題の部分↓ if (n % 5 == 0) System.out.println(); 何か良い方法はありませんか?お願いします。 ------------------------------------------------- //(数を読み込んで)だ個数だけ * を5個ごと改行しながら表示 int n = 0; for (int i = n; n <= 0;){ System.out.print("何個*を表示しますか : "); n = stdIn.nextInt(); } for (int i = 1; i <= n; i++){ System.out.print("*"); if (n % 5 == 0) System.out.println(); } ------------------------------------------------

    • ベストアンサー
    • Java
  • javaで課題を出されています

    題名の通りなのですが、javaのプログラミングで課題を出されていて うまく書けません お題としては 1 if分と論理演算を使うこと。 2 forまたはwhileを使用すること 3 メソッドを使用すること。(main以外で) 4 配列を使用すること 以上なのですが、一応昔スロットプログラムを作っていたのでこれをベースに作ろうかなと考えています import java.io.*; public class Slot01{ public static void main(String[] args){ try{ //String line =reader.readLine(); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.println("こんにちは!スロットゲームへようこそ!"); System.out.println("EnterKeyを押して当たりを出してくださいね!"); while(true){ //while文は処理を繰り返すためのものです。 // ▽これよりソースを打ち込んでください //try{ int x=(int)(Math.random()*9)+1; int y=(int)(Math.random()*9)+1; int z=(int)(Math.random()*9)+1; int[]kakuritu; int sum; System.out.print(x); System.out.print(y); System.out.print(z); System.out.println(""); String line =reader.readLine(); //System.out.println(""); if(x==7&&y==7&&z==7){ System.out.println("スーパー大当たり"); }else if(x==y&&y==z){ System.out.println("大当たり"); }else if(x==y||y==z||x==z){ System.out.println("小当たり"); }else{ System.out.println("外れ"); } }//while文の終わり }catch (IOException e){ System.out.println(e); }catch (NumberFormatException e){ System.out.println("正しい形式で表示してください。"); } } } このプログラムなのですが、1と2はこの中に入ってます。考えてみたのですが、このプログラムに当たり確率を表示させるプログラムなら3と4も満たせそうなのですが、いまいちソースが思いつきませんのでご教授お願いします。 文章おかしいところだらけで申し訳ありません。

    • ベストアンサー
    • Java
  • javaのエラーが回収できない

    JAVA初心者です。下記のエラーを直したいんですがよくわかりません。 Exception in thread "main" java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at hangman.main(hangman.java:141) ソースを載せたいのですが200行程度あって全部載せられないので 関連しそうなところだけ載せます。 ~~~~~~~~~略~~~~~~~~~~~ try{ int input=System.in.read(); char str_moji1=(char)input; //ユーザの1文字入力 if(words[chosenWordRecord].indexOf(str_moji1) != -1){ System.out.println("debug:"+str_moji1+"の場所"+(words[chosenWordRecord].indexOf(str_moji1)+1)); } else{ System.out.println(str_moji1+"は含まれてないよ!"); } for(int arrayNum=0; arrayNum<wordArray.length; arrayNum++){ if(wordArray[arrayNum]==str_moji1){ System.out.print(" "+str_moji1); } else{ System.out.print(" _"); } } }catch(IOException e){ System.out.println(e); } try{ System.out.print("入力テスト:"); BufferedReader br1=new BufferedReader(new InputStreamReader(System.in)); String str=br1.readLine(); step=Integer.parseInt(str); //int型に変換 }catch(IOException e){ System.out.println(e);            //141行目 } ~~~~~~~~~略~~~~~~~~~~~ 状況としては、 ユーザの入力によって2つのテキストファイルを順にコマンドライン上に 表示しようとしているのですが1つ目のファイルから単語を呼んで処理を終えた後に、 2つ目のファイルを呼ぶための入力ができなくなっているようです。 かってに数字以外の文字が入力されてしまっているということでしょうか? エラーで指定された場所にcatch(NumberFormatException e){}も追加してみましたが ただエラーが表示されなくなるだけでした。 ちなみに変数はすべて宣言してあります。 解決方法ご存知の方いましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Java言語 正答率、正答数の表示の仕方

    自動的に3桁までの足し算の問題を繰り返して10問生成・表示し、入力された答えが正解か不正解かを表示する。最後に正答数と正答率を表示する。 というプログラムをeclipseで作っています。 問題を自動生成、表示、正解、不正解の表示まではできたのですが、正答数と正答率の表示の仕方がわかりません。 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Java05 { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO 自動生成されたメソッド・スタブ System.out.println("コンピュータが足し算の問題を10問出します"); int intC = 0; for(intC = 0;intC<10;intC++) { double dblA=Math.random()*1000; double dblB=Math.random()*1000; int intA=(int)dblA; int intB=(int)dblB; int intAns; intAns=intA + intB; System.out.println(intA +"+"+ intB +"="); System.out.println("あなたの答え="); BufferedReader myReader=new BufferedReader(new InputStreamReader(System.in),1); try{ String myString=myReader.readLine(); int myAns=Integer.parseInt(myString); if(myAns==intAns){ System.out.println("正解です!"); }else{ System.out.println("残念でした!正しい答えは"+intAns+"です。"); } }catch(IOException ie){System.out.println("エラーが発生しました。");} catch(NumberFormatException ne){ System.out.println("入力された数値が正しくないようです。"); } } } } どのようにすればよいでしょうか。。。 教えてください!

  • 変数をランダム発生させる

    http://security.okwave.jp/kotaeru.php3?qid=2243075 上記の質問に回答しようとしましたが締め切られているので皆さんに公開して問題点を指摘していただきたいと思います。 import java.io.*; class RandomEditor { public static void main(String args[]){ try{ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); while(true){ System.out.println("変数は幾つ創りますか?"); int var = Integer.parseInt(reader.readLine()); int[] variable = new int[var]; for(int i = 0; i<variable.length;i++){ variable[i] = i + 1; } System.out.println("変数は" + variable.length + "個創りました"); double[] probability = new double[variable.length]; for(int i = 0; i<variable.length;i++){ System.out.println("変数" + (i + 1) + "の発生率を%で入力してください"); probability[i] = Double.parseDouble(reader.readLine())/100; } setProbability(variable,probability); break; } }catch(IOException e){ System.out.println(e); } } public static void setProbability(int[] v,double[] p){ int i = 0; StringBuffer[] sbArray = new StringBuffer[v.length]; for(int n = 0;n<v.length; n++){ sbArray[n] = new StringBuffer(); } for(int k =0; k<10;k++){ double randomNumber = Math.random(); for(i = 0; i < v.length ; i++){ if(randomNumber < p[i]){ sbArray[i].append("* "); } } } for(i=0;i<v.length;i++){ System.out.println("変数:"+(i+1)+"の発生度数" + sbArray[i].toString()); } } }

    • ベストアンサー
    • Java

専門家に質問してみよう