• ベストアンサー

JAVAの簡単な計算問題のようですが・・・

class A{ int a; } class Test{ ・・・ A a = new A(); 文法的に全く理解できません。 具体的に何をやっているのでしょう。

  • hope12
  • お礼率70% (219/311)
  • Java
  • 回答数1
  • ありがとう数3

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

  • ベストアンサー
回答No.1

・Aというクラスを宣言、メンバはaという整数。 ・Testというクラスの宣言のどこかで、Aというクラスのインスタンスaを作成。 とか。 何の計算もしていません。 クラスを宣言してるだけで、何もしていません。 -- aとかAの無意味な名前、しかも変数名がかぶってるので分かりにくいです。 例えば、麻雀関係のクラスを同じように作るなら、 // プレーヤー、家のクラス class Player{  int score; // 持ち点 } // テスト用一人麻雀卓のクラス class TestTable{ ・・・  Player myself = new Player(); // 卓に一人だけプレーヤーmyselfを作成 だとか。

hope12
質問者

お礼

勉強不足でした。今なら理解できます。お礼が遅くなって申し訳ありません。

関連するQ&A

  • java

    次のコード中の括弧内で下に示す11通りの各コードを実行した場合の実行画面を正確に答えよ。 class A{ public void func1(){System.out.println("A1");} public void func2(){System.out.println("A2");} } class B extends A{ public void func1(){System.out.println("B");} } class C{ public int x=0, y=1; } class D extends C{ public int x=2; public void func1(int x){System.out.println(x);} public void func2(int x){System.out.println(this.x);} public void func3(int x){System.out.println(super.x);} public void func4(int x){System.out.println(this.y);} public void func5(int x){System.out.println(super.y);} } class E{ public void func1(int n){ try{ System.out.println("E1"); int[] ary=new int[n]; System.out.println("E2"); }catch(NegativeArraySizeException e){ System.out.println("E3"); }finally{ System.out.println("E4"); } } } (1) A a=new A(); a.func1(); (2) A a=new B(); a.func1(); (3) B b=new B(); b.func1(); (4) B b=new B(); b.func2(); (5) D d=new D(); d.func1(3); (6) D d=new D(); d.func2(3); (7) D d=new D(); d.func3(3); (8) D d=new D(); d.func4(3); (9) D d=new D(); d.func5(3); (10) E e=new E(); e.func1(5); (11) E e=new E(); e.func1(-2); (1) A1 (2)B (3)B (4) A2 (5) 3 (6) 2 (7) 0 (8) 1 (9) 1 (10) E1E2E4(11) E1E3E4 と答えになるんですがなぜこうなるのかわかりません。教えてください

    • ベストアンサー
    • Java
  • javaの問題

    import java.util.Scanner; class test6{ static void printArray(int[] a) { for(int i=0;i<a.length;i++) System.out.print(String.format("%1$6s", (a[i]+" "))); System.out.println(); } static void printArray(int[][] a) { for(int[] i:a) { for(int j:i) System.out.print(String.format("%1$6s",(j+"\t"))); System.out.println(); } } public static void main(String[] args) { int[] a = {12,536,-8,7}; int[][] c = {{32,-1,32,45,67}, {535,99999,2}, {2,5,-123,9}}; printArray(a); printArray(c); } } このプログラムを表示するとこのようになるのですが、 12 536 -8 7 32 -1 32 45 67 535 99999 2 2 5 -123 9 これに一工夫加えて見やすくしたいです。 このような形にするのはどのようにすればよいのでしょうか + + | 32 -1 45 67 | | 535 99999 2 | | 2 5 -123 9 | + +

  • Javaの計算について

    Java初心者です。以下の問題で、c = 10になるのか判りません。括弧が先に計算されるのではないのでしょうか?どなたか解説していただけませんでしょうか? public class M{ public static void main(String[] args){ int a = 5; int b = (a = 2) * a; a = 5; int c = a * (a = 2); System.out.println("b = " + b + " c = " + c); } }

    • ベストアンサー
    • Java
  • Javaの問題で教えてください

    Java初心者の者です。 どうしてもわからないので何方か教えてください。 クラスを完成させて 計算結果(60)を表示させないといけない問題なのですが・・ class Example{ //↓ここから  //↑ここまでのロジックを考えなければならないのですが・・ } class sub1{ public static void main(String args[]){ int i=10; int j=20; int k=30; int sum=0; //電卓クラスの呼び出し  Example example=new Example(); sum=example.dentaku(i,j,k); System.out.println("合計は"+sum+"です"); } } 矢印のロジックのところがわかりません。 どなたか教えてください。。

  • Javaの初歩

    変数のスコープみたいなものが、いまだに良く分かって ないみたいなんです。このプログラムを実行すると、 15 0 20と表示されるのですが、最後がなぜ15ではなく て、20なのかがなかなか分かりません。どなたか教えて 頂けませんでしょうか。お願いします。 class Value { public int i = 15; } public class Test { public static void main(String argv[]) { Test t = new Test(); t.first(); } public void first() { int i = 5; Value v = new Value(); v.i = 25; second(v, i); System.out.println(v.i); } public void second(Value v, int i) { i = 0; v.i = 20; Value val = new Value(); v = val; System.out.println(v.i + " " + i); } }

    • ベストアンサー
    • Java
  • 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の基本的な質問です

    以下ソースコード(ただし、testtest クラスはどちらかを採用) public interface taberu { int doit (); } class taberu1 implements taberu{ @Override public int doit () { return 1; } } public class taberu2 implements taberu{ @Override public int doit(){ return 2; } } public class testtest{ public static void main(String[] args){ taberu1 a = new taberu1(); taberu2 b = new taberu2(); int aaa = a.doit(); int bbb = b.doit(); System.out.println(aaa + " and " + bbb); } } public class testtest{ public static void main(String[] args){ taberu a = new taberu1(); //ここが違う taberu b = new taberu2(); //ここが違う int aaa = a.doit(); int bbb = b.doit(); System.out.println(aaa + " and " + bbb); } } 出力結果 1 and 2 質問は testtest クラスの //ここが違う と書かれているところです 出力結果はどちらも同じなのですが、その違いにより何が違うのか教えてほしいです。それと、抽象クラスにおける場合でもどのような違いがあるのか教えてほしいです>< インターフェースは振る舞いを記述すべきなので抽象クラスを使えと怒られそうなんですが簡単にしたかったのでこうしました。 本を読んでもあまりしっくりと理解できなかったので質問します。 基本的なことを質問してしまいすみません。

    • ベストアンサー
    • Java
  • Javaのオーバーロードを使った問題

    class Book{ String title, size; int price; Book(String title, String size, int price){ this.title = title; this.size = size; this.price = price; } public String info(){ return title + " " + size; } public String info(String title){ return title + " " + size + " " + price +"円"; } public int info(String title, String size){ return price; } } ________________________________________________________ class Book_test{ public static void main(String[] args){ String[] title = {"図鑑","参考書","雑誌","地図"}; String[] size = {"B4", "A5", "A4", "A3"}; int[] price={4500, 1800, 600, 1400}; Book[] b = new Book[4]; for(int i=0; i<b.length; i++){ b[i] = ****; } for(int i=0; i<b.length; i++){ System.out.println(***); } for(int i=0; i<b.length; i++){ System.out.println(***); } for(int i=0; i<b.length; i++){ System.out.println(***); } } } 実行結果は、以下の通り 図鑑 B4 参考書 A5 雑誌 A4 地図 A3 図鑑 B4 4500円 参考書 A5 1800円 雑誌 A4 600円 地図 A3 1400円 4500 1800 600 1400 このように表示するために、javaのソースコードを書かなくてはならないのですが、***の部分に何を入れれば良いのか分かりません。 特に、for文の部分です。 classが苦手なので分かりやすく教えていただけると幸いです。

    • ベストアンサー
    • Java
  • Javaに関する初歩的な質問です。

    Javaを勉強中なのですが、 class Test{ public static void main(String args[]){ int a = 10; { int a = 10; } } } これがエラーになる理由がいまいちわかりません。 ぜひとも教えてください。

  • java setterとgetterについて

    データをセットしたファイルとは別のファイルからゲットしたいの ですが、できるのでしょうか? できるのでしたら、方法を教えてください。 具体的には下記のような感じです。 (かなり端折っている&あまり理解できていないので  おかしいsrcかもしれませんが、  やりたいことは、A.javaでセットした値をB.javaでゲットしたい  のです・・・。) 宜しくお願いいたします。 ■Data.java public class Data{   private String mojiData;   public Data(String _mojiData){     mojiData = _mojiData;   }   public void setMojiData(String _mojidata){     mojiData = _mojiData;   }   public void getMojiData(){     return mojiData;   } } ■A.java public class A extend JApplet{   public void init(){     Data[] data = new Data[2];     param[0] = a;     param[1] = i;     for(int i=0; i<2; i++){       data[i] = new Data("");       data[i].setMojiData(param);     }   } } ■B.java public class B extend JApplet{   String strData = new String[2];   public void ren(){     Data[] data;     for(int i=0; i<2; i++){       String strData[i] = data[i].getMojiData();     }   } }

    • ベストアンサー
    • Java