• ベストアンサー

このプログラムについて

class suuji{ public static void main(String args[]){ int x = 5 ; int z = 8 ; int k = x + z ; System.out.println(" z + x ="+ k); } } このようなチョー簡単なプログラムをコンパイルして実行して z + x =13 と表示されました。 ここで本題です。この z + x =のところを表示しなくなるような方法はありませんか? 具体的に言うとこの式の答えしか表示されない方法はありませんか? よろしくお願いします。 よかったらもうひとつ質問に答えてほしいのですが。 コマンドプロンプトでしかJavaのプログラムを実行できないのですが、コマンドプロンプトを使わず実行できる方法はありませんか? よろしくお願いします

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

  • ベストアンサー
  • tachiwa
  • ベストアンサー率34% (25/73)
回答No.2

これでいいの? class suuji{ public static void main(String args[]){ int x = 5 ; int z = 8 ; int k = x + z ; System.out.println(k); } }

dfksh
質問者

お礼

回答ありがとうございました! できました! kだけでいいのかよ・・・こんな感想を持ちました。 とてもすっきりしました。 質問なのですが、「"」←これはどんな意味があるのでしょうか? 良かったらまた回答をいただきたいです。 よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

回答No.7

>コマンドプロンプトでしかJavaのプログラムを実行できないのですが、コマンドプロンプトを使わず実行できる方法はありませんか? ですが、自分はやったことがありませんが、jarファイルを作成して、ダブルクリックで実行することもできるようです。 詳細は質問者様ご自身でお調べ下さい。

dfksh
質問者

お礼

回答ありがとうございます batと言う拡張子で出来たので、これを使わせてもらいます

全文を見る
すると、全ての回答が全文表示されます。
  • bnosuke-x
  • ベストアンサー率39% (43/110)
回答No.6

>System.out.println(k.toString()); >int は間接参照できません。 済みません、全くの間違い解答でした。 これは忘れて下さい... さて、これだけではなんなので「+」演算子について。 Javaで「+」演算子は2種類の動作があります。 一つは普通に数の足し算をします。 もう一つは文字列同士をくっつけます。 どっちの動作になるかは文脈で決まります。 数だけだったら足し算をします。   1 + 2  → 3 +記号の左右どちらか一方でも文字列があったら、文字列の連結になります。   ”ABC” + ”DEF”  → ”ABCDEF” このとき、文字列と文字列でないものの組み合わせの場合、自動的に文字列に変換されます。   ”ABC” + 3←自動的に変換される  →”ABC3” 変数についても同様です。   int x = 3;   ”ABC” + x;  →”ABC3” 文字列の学習まで進んでいないようなのでピンと来ないかも知れませんが、いつか役にたちますので、頭の片隅に置いておいて下さい。

dfksh
質問者

お礼

いえいえ。一番最初に回答してくれたので。 参考にさせていただきます

全文を見る
すると、全ての回答が全文表示されます。
  • ys10
  • ベストアンサー率33% (1/3)
回答No.5

コマンドプロンプトでしかJavaのプログラムを実行できないのですが...について Windows前提でお話しますが、一番簡単な方法はbatファイルを作ることだとおもいますが 言語の習得中ならばめんどくさがらずにコマンドでやることをお勧めします。 いろんな意味でコマンドでやることは基本ですので... その他、makeを使う、antを使うなどの方法もありますが 上記程度のプログラムなのであればコマンドで実行したほうが早いです。 言語の習得中でもやはりコマンドで実行するのがめんどくさいのであれば eclipseなどのソフトウェアをインストールするのがいいと思います。 eclipseに関してはこのページが参考になるのでは @IT EclipseでJavaプログラミング超入門 http://www.atmarkit.co.jp/fjava/rensai3/eclipsejava01/eclipse01.html 参考までにbatファイルの例 suuji.classが置いてあるディレクトリ(フォルダ)の中に suuji.batというファイルを作り内容を以下のように編集する。 java suuji これでsuuji.batをダブルクリックするだけで java suuji を実行してくれます。

dfksh
質問者

お礼

回答ありがとうございました 面倒ですが続けてみます。 Eclipseは使ってみたことがあるのですが・・・ 個人的にメモ帳とコンパイラだけでプログラムが作りたいのです。(画像とかも必要になりますが。) それにEclipseは面倒が多すぎます。いちいち設定したり、インポートとかいろいろ・・・ たしかに良いところはあります。しかし、メモ帳だけで作れば達成感があります。

全文を見る
すると、全ての回答が全文表示されます。
  • ys10
  • ベストアンサー率33% (1/3)
回答No.4

「"」で囲むと文字列という意味です。 なのでその部分は書いた通りのものがでます。 ちなみに「+」は文字列と変数(インスタンス)をくっつけます。 なのでこんなことができますよ。 System.out.println("zたすxは" + k + "です。"); 後々でてくるであろうキャストのこととかをちゃんと 理解すればわかるようになると思います。

dfksh
質問者

お礼

回答ありがとうございます。 いろいろと応用してみます

全文を見る
すると、全ての回答が全文表示されます。
  • nicepeace
  • ベストアンサー率58% (7/12)
回答No.3

もう少し自分で勉強してから質問した方が自分の為にもなると思いますが・・・。 int k = x + z ; //実際の計算はここでしています。 System.out.println(" z + x ="+ k);//ここで表示します。 ""の意味ですが、System.out.println();の中で""の中にあるものはそのまま文字として表示されます。 System.out.println("こんにちわ");としたら「こんにちわ」と表示されます。 ですからSystem.out.println(" z + x ="+ k);の"z + x"の部分は実際にはただz + xと表示させているだけでこれを System.out.println("計算しました"+ k); とやっても実際にはint k = x + z ;の部分で既に計算結果をkに代入しているのできちんと計算結果は表示されるわけです。 あとは参考URLも張っておきますので参考にしてみてください。

参考URL:
http://www.javaroad.jp/
dfksh
質問者

お礼

回答ありがとうございました すみません。もうすこし知識を付けてから質問するべきでした・・・。。 "は使い方によっては重要なんですね。

全文を見る
すると、全ての回答が全文表示されます。
  • bnosuke-x
  • ベストアンサー率39% (43/110)
回答No.1

System.out.println(k.toString()); でどうでしょう?

dfksh
質問者

お礼

回答ありがとうございました。 変更して実行してみた。しかし、できませんでした。 エラーメッセージには int は間接参照できません。 と出てきました。スミマセン。初心者なので何がどうなっているのかぜんぜんわかりません。 再度よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • プログラムの平均値の出し方。

    プログラムの平均値の出し方。 public class pazu{ public static void main(String[] args){ int sum =0,saidai; System.out.println("コマンドラインパラメータは"+args.length+"個です"); for(int i=0;i<args.length;i++){ int x=Integer.parseInt(args[i]); if(pazu.is_even(x)) System.out.println(args[i]+"は偶数です"); else System.out.println(args[i]+"は奇数です"); sum+=x; } saidai=pazu.max(args); System.out.println("合計:"+sum); System.out.println("最大:"+saidai); } static boolean is_even(int number){ return number%2==0; } static int max(String[] number){ int max =0; for(int i=0;i<number.length;i++){ if(max<Integer.parseInt(number[i])){ max=Integer.parseInt(number[i]); } } return max; } } このプログラムで数値の奇遇、合計値、最大値までは出せたのですが平均値の出し方がわかりません。 どこに何を入れればいいかを教えてください。お願いします。

  • javaプログラムについて

    */コマンドライン引数で2つの数字と1つの記号を受け取ります。 * //受け取った記号が『+』ならplusメソッドを呼び出し、 * //受け取った記号が『-』ならminusメソッドを呼び出し、 * //受け取った記号が『×』ならmultiplyメソッドを呼び出し、 * //受け取った記号が『÷』ならdivideメソッドを呼び出し、 * //それ以外が入力された場合は『計算できません。』と表示する * //プログラムを作成してください。 * */ public class MethodAdd9 { public static void main(String[] args) { int input1 = Integer.parseInt(args[0]); int input2 = Integer.parseInt(args[1]); String sign = args[2]; //ここにプログラムを追加してください if(sign.equals("+")){ plus(input1,input2);//プラスメソッドへ } if(sign.equals("-")){ minus(input1,input2);//マイナスメソッドへ } if(sign.equals("*")){ multiply(input1,input2);//掛算メソッドへ } if(sign.equals("/")){ divide(input1,input2);//割算メソッドへ } } // 四則演算を行うメソッドを追加 //プラスメソッド表示 public static void plus(int a,int b){ int c=a+b; System.out.println(a+b); } //マイナスメソッド表示 public static void minus(int d,int e){ int f=d-e; System.out.println(d-e); } //掛算メソッド表示 public static void multiply(int g, int h){ int i=g*h; System.out.println(g*h); } //割算メソッド表示 public static void divide(int j,int k){ int l=j/k; System.out.println(j/k); } } ここまで出来て、記号を認識してくれるようにはなったのですが、何故か"*"掛算の記号だけ読み込んでくれません。また、ここから「計算出来ません」と表示させるにはどうすれば良いでしょうか。知恵をお貸しください。

  • javaプログラムについて

    コマンドライン引数から複数の値を受け取り、それらの最大と最小を表示する、というプログラムなのですが。 class Maxmin{   public static void main (String[] args) {    int max=Integer.MIN_VALUE;    int min=Integer.MAX_VALUE;    for (int i=0; i<args.length; i++){     int num= Integer.parseInt(args[i]);     if(num>max)     max=num;     if(num<min)     min=num;    }    System.out.println("最大値は" + max + "です。");    System.out.println("最小値は" + min + "です。");  } } このプログラムでも問題なく表示されるのですが、MIN_VALUEとMAX_VALUEを使用せずに表示する事、と指摘を受けました。自分の中でぱっと思いついたのがこれだったのですが、他にはどのような方法があるのでしょうか?

    • ベストアンサー
    • Java
  • この2つのプログラムは全く同じものでしょうか?

    class Base{ protected int x; Base() { this.x=0;} Base(int x) {this.x=x;} void print(){ System.out.println("Base.x="+x);} } class Derived extends Base{ int x; Derived(int x1,int x2){ super(x1); this.x=x2;} void print(){ super.print(); System.out.println("Derived.x="+x);} } public class SuperTester{ public static void main(String[] args){ Base a =new Base(10); System.out.println("----a----"); a.print(); Derived b=new Derived(20,30); System.out.println("----b----"); b.print(); } } このプログラムと、 このプログラムのDerivedクラスのコンストラクタの部分を Derived(int x1,int x2){ super.x=x1; this.x=x2;} に変えたプログラムです。 かなりややこしいのですが、この2つのプログラムはソースは一部違いますが、 意味するものは全く同じでしょうか? ちなみにこの2つは実行結果は同じになります。 【実行結果】 ----a---- Base.x=10 ----b---- Base.x=20 Derived.x=30 つまり、Derivedクラスでint x;を書かず、 よろしくお願いします。

    • ベストアンサー
    • Java
  • プログラムの組み合わせ方

    java初心者です。 2つのプログラムを組み合わせて1つのプログラムにしたいんですが、イマイチ分かりません。 このプログラムと、 import java.io.*; class Hello2 {  public static void main(String[] args) throws IOException {   System.out.println("名前を入力してください");   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   String str = br.readLine();   System.out.println(str + "さん、こんにちは!");  } } このプログラムを、 import java.io.*; class Sanbai{  public static void main(String[] args) throws IOException {   System.out.println("好きな数を入力してください");   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   String str = br.readLine();   int x;   x = Integer.parseInt(str);   System.out.println("あなたの入力した数:" + x);   System.out.println("その3倍の数:" + (x*3));  } } 組み合わせて1つのプログラムにするにはどうしたらいいですか?(>_<)

    • ベストアンサー
    • Java
  • 昇進者です。 戻り値の学習をしていますが。

    *を10個表示するプログラムですが。 public class Graph1 { public static void main(String[] args) { printGraph(10); } public static void PrintGraph(int x) for(int i = 0; i < x; i++){ System.out.println("*"); } System.out.println(""); } } のprintGraph(10);は何のためにあるのですか? 10がxに代入されていますよね。戻り値はxですか。

  • javaのローカル変数について

    基本的なことの質問ですがよろしくお願いいたします。 下記の様なソースコードでint y ;はローカル変数にあたると思いますが 確かローカル変数は初期化されないとコンパイルエラーになるはずなのですが どうもコンパイルも実行もできます。 どうしてでしょうか? よろしくお願いいたします。 class Test1{ static int x = 0; } public class Test extends Test1{ public static void main(String args[]){ Test i = new Test(); int y ; y = ++x; System.out.println( y ) ; } }

    • ベストアンサー
    • Java
  • コマンドプロンプトから数値で引数を与える時に出るエラーの対処法について

    題名通りなのですが、 コマンドプロンプトで Java Comc1 10 などと入力した際に引数をきちんと計算してくれる プログラムを組みたいのですが、エラーが出てしまいます。 まずはソースですが、以下のようなものを記述しました。 class Comc1{  public static void main(int[] args){   class InnerClass5{    int a=20;    int b=50;    void method1(int num){ System.out.println((a*b)/num);    }   }   InnerClass5 ic5 = new InnerClass5();   ic5.method1(args[0]);  } } コンパイルは問題なく行えるのですが、 いざ実行した際に Exception in thread "main" java.lang.NoSuchMethodError: main といったエラーが出てしまい、動かすことが出来ません。 どなたか分かる方がいましたら教えていただけるとありがたいです。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • javaのプログラムについて

    java始めたばかりの者です。 class sample1 { public static void main(String[] args) { for(int i=1; i<=5; i++){ for(int j=0; j<i; j++){ System.out.println("*"); } System.out.println("\n"); } } } これを実行すると * * * * * * * * * * * * * * * こうなってしまい * ** *** **** ***** このようにするにはどうしたらいいのでしょうか??

    • ベストアンサー
    • Java
  • java iを1づつ増やすプログラムと2づつ増やすプログラム

    次のようにすればiを1づつ増やして表示されます。 class Calc{   int i=1;   int add(){     return i++;   } } class Count{   public static void main(String[] args){     Calc calc = new Calc();     System.out.println("i = " + calc.add());     System.out.println("i = " + calc.add());     System.out.println("i = " + calc.add());   } } 実行結果 i = 1 i = 2 i = 3 しかし次のように2づつ増やそうとすると、 class Calc{   int i=1;   int add(){     return i+2;   } } class Count{   public static void main(String[] args){     Calc calc = new Calc();     System.out.println("i = " + calc.add());     System.out.println("i = " + calc.add());     System.out.println("i = " + calc.add());   } } 実行結果 i = 3 i = 3 i = 3 このようになってしまいます。どこがおかしいのでしょうか?

    • ベストアンサー
    • Java