こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

java 戻り値なしの乗算について

最近javaを習い始めたのですが、今やっている戻り値なしの乗算の実行コマンドの書き方が解りません。

問題の内容が、

class SampleB{
int data=100;

void kakezan(int a){

int ans;
ans=a*data;
      System.out.println(a+"*"+data+"="+ans);
}
}

class Jikko{
//ここ
}

問題 (引数 あり 戻り値 なし)

Jikkoクラスの//ここに実行するためのメソッドをつくり、
・SampleBクラスのkakezan()メソッドに「3」、「8」、「10」を渡して呼出

なのですが、

class JikkoB{

public static void main(String[]args);

SampleB b=new SampleB();

int ans=a*data;

System.out.println("a+*data=+"ans);
b.a(3);
}
}

ここまで書きましたがエラーが7つも出てコンパイルできません。

色々と調べましたが正しいメソッドが解りません。

どなたか詳しい解答と解説を教えていただければ幸いです。

投稿日時 - 2013-05-25 12:49:22

QNo.8104069

暇なときに回答ください

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

> ampleB.java:20:エラー:<identifier>がありません
>       System.out.println(a+"*"+data+"="+ans);

> SampleB.java:21:エラー:<identifier>がありません
>      B.a(3);

この行の先頭に「全角スペース」が入ってませんか?
プログラミングするときは、空白とか改行とかの、通常見えない「文字」も表示してくれるエディタ等を使いましょう。


> これは、インスタンス化したSampleBがbで、そのなかのint dataに掛ける数字がaなので、
> bの中のa、()はaに入る数字の意味で書いたものです。

このsampleBクラスには、「a」というフィールドもメソッドもありません。
void kakezan(int a){ の a のことなら、これは、kakezanメソッドの引数です。

「・SampleBクラスのkakezan()メソッドに「3」、「8」、「10」を渡して呼出」
ってありますよね。

戻り値の有無とか、中でどんな計算しているかとか、関係無く、メソッドに引数を使って値を渡すにはどうするか、よく考えてみましょう。

投稿日時 - 2013-05-25 15:49:57

お礼

解答ありがとうございます。

メソッドの復習からやってみることにします。

投稿日時 - 2013-05-26 21:58:27

ANo.3

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

public static void main(String[]args);
でいいの?

投稿日時 - 2013-05-25 15:47:39

お礼

解答ありがとうございました。

投稿日時 - 2013-05-26 22:24:40

ANo.1

> ここまで書きましたがエラーが7つも出てコンパイルできません

まずは、そのエラーを読んで、内容を把握すること。
全てはそこから始まります。

人に聞くときでも、の具体的なエラーメッセージが無いと、答える側も答えられません。


> int ans=a*data;

この,a,dataはどこから?

> "a+*data=+"ans

"の位置が片ではないですか?

> b.a(3);

これは何のつもりですか?

投稿日時 - 2013-05-25 13:31:19

補足

>人に聞くときでも、の具体的なエラーメッセージが無いと、答える側も答えられません。

失礼しました。

エラーの内容についてですが、

SampleB.java:20:エラー:<identifier>がありません
      System.out.println(a+"*"+data+"="+ans);
^
SampleB.java:20:エラー:型の開始が不正です
System.out.println(a+"*"+data+"="+ans);
^
SampleB.java:20:エラー:')'がありません
      System.out.println(a+"*"+data+"="+ans);
^
SampleB.java:20:エラー:';'がありません
      System.out.println(a+"*"+data+"="+ans);
^
SampleB.java:21:エラー:<identifier>がありません
      B.a(3);
^
SampleB.java:21:エラー:型の開始が不正です
B.a(3);
^
SampleB.java:23:エラー:class,interfaceまたはenumがありません


> int ans=a*data;

この,a,dataはどこから?

勘違いしてSampleBの
int ans;
ans=a*data;
を入れてしまったものです。


> b.a(3);

これは何のつもりですか?

これは、インスタンス化したSampleBがbで、そのなかのint dataに掛ける数字がaなので、
bの中のa、()はaに入る数字の意味で書いたものです。

投稿日時 - 2013-05-25 15:24:54