• ベストアンサー

下記のメソッドを使って答えが画面表示されるようにしたいです。

下記のメソッドを使って答えが画面表示されるようにしたいです。 それには、どうコードを書けばいいでしょうか。 宜しく御願い申し上げます。 public class Calc {   int[] calcArr(int[] data){    int[] r =new int[data.length];      for(int i=0; i<data.length; i++)        r[i]=data[i]*data[i];         return r; }

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

  • ベストアンサー
  • ontojava
  • ベストアンサー率61% (8/13)
回答No.5

配列初期化子を使うと配列の生成と要素の格納を一緒にできます。 このように書けます。{ } を忘れないでね。 int[] data = { Integer.parseInt(args[0]), Integer.parseInt(args[1]), Integer.parseInt(args[2])} ; 要素数が変動しても対応できるようにしたい場合は このように書けます int [] data = new int [args.length]; for ( int i = 0; i < args.length; i++ ) { data[i] = Integer.parseInt(args[i]); }

NEWYORKERS
質問者

お礼

御回答ありがとうございました。 本当に助かりました。 御指導有難う御座いました。

その他の回答 (5)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.6

> これでは動きませんが、何時間考えてもわからなくて、 動かないというのは 具体的にどうなるの? なにか例外が出るの? それとも無限ループでもするのかしら? 見る限り data[0] = Integer.parseInt(args[0]); で例外が出るはずだけど。 理由は dataが配列としてサイズが設定されていないため。

NEWYORKERS
質問者

お礼

御指導有難う御座いました。 何度も回答して頂きまして感謝しております。 ありがとうございました。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.4

data[0] = Integer.parseInt(args[0]); こうよ。 面倒でも1つずつ。

NEWYORKERS
質問者

お礼

たびたび御回答ありがとうございます。 public class Calc { int[] calcArr(int[] data){ int[] r = new int[data.length]; for(int i=0; i<data.length; i++) r[i] = data[i] * data[i]; return r; } public static void main(String[] args) { int[] data = null; nullは赤バツでEnterを押すと付き理由はわかりません。 data[0] = Integer.parseInt(args[0]); Calc calc = new Calc(); int[] r = calc.calcArr(data); for(int i=0; i<r.length; i++) System.out.println(r[i]); } } これでは動きませんが、何時間考えてもわからなくて、 すみませんが、宜しく御願い申し上げます。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.3

public static void main(String[] args) このargsは飾りじゃないのよ。 これを調べてみると答えが見えるんじゃないかしら。

NEWYORKERS
質問者

お礼

度々有難う御座います。 public class Calc { int[] calcArr(int[] data){ int[] r = new int[data.length]; for(int i=0; i<data.length; i++) r[i] = data[i] * data[i]; return r; } public static void main(String[] args) { int[] data = Integer.parseInt(args[0]);←ここで赤いバツが点きます。 Calc calc = new Calc(); int[] r = calc.calcArr(data); for(int i=0; i< r.length; i++) System.out.println(r[i]); } } String型を配列のint型にするにはどうしたらよいでしょうか。 宜しく御指導御願いします。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

要するに コマンドプロンプトから入力したいってこと? まだ分かりにくいわ。 こうなるといいっていう完成予想図的なものが書ける?

NEWYORKERS
質問者

お礼

たびたびすみません。 Eclipseにコードを書いて、実行の構成から、引数のタブに数字を入れると スクリーンの下半分のところにあるコンソールのタブにその2乗した答えが 出る。 例えば、10と入れると 100と、計算結果の数字が出る。 public class Calc { int[] calcArr(int[] data){ int[] r = new int[data.length]; for(int i=0; i<data.length; i++) r[i] = data[i] * data[i]; return r; } public static void main(String[] args) { Calc calc = new Calc(); int[] data ={2,5,7,9,10}; int[] r = calc.calcArr(data); for(int i=0; i< r.length; i++) System.out.println(r[i]); } } これが、動く事は理解出来たつもりなのですが、 最初に={2,5,7,9,10}; と書いて置くしかないのでしょうか。 すみません、宜しく御願い申し上げます。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

画面ってどんな画面? あまりにも漠然としすぎて 少しは下調べしてきてっ としか言えないわ。

NEWYORKERS
質問者

お礼

すみません、下記は自分で作ったのですが、 どうしたいかと言うと、実行して引数を入れると 結果が表示される様にしたいのです。 これじゃダメだと思うのですが、それではどうしたらよいかと 考えるとまず何を考えたらよいかわかりません。 本当にすみませんが、もう一度宜しく御願い申し上げます。 public class Calc {   int[] calcArr(int[] data){     int[] r =new int[data.length];       for(int i=0; i<data.length; i++)        r[i]=data[i]*data[i];          return r; }    public static void main(String[] args) {       Calc calc = new Calc();         calc.calcArr(data);           System.out.println(r);   } }

関連するQ&A