- ベストアンサー
下記のメソッドを使って答えが画面表示されるようにしたいです。
下記のメソッドを使って答えが画面表示されるようにしたいです。 それには、どうコードを書けばいいでしょうか。 宜しく御願い申し上げます。 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; }
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
配列初期化子を使うと配列の生成と要素の格納を一緒にできます。 このように書けます。{ } を忘れないでね。 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]); }
その他の回答 (5)
- askaaska
- ベストアンサー率35% (1455/4149)
> これでは動きませんが、何時間考えてもわからなくて、 動かないというのは 具体的にどうなるの? なにか例外が出るの? それとも無限ループでもするのかしら? 見る限り data[0] = Integer.parseInt(args[0]); で例外が出るはずだけど。 理由は dataが配列としてサイズが設定されていないため。
お礼
御指導有難う御座いました。 何度も回答して頂きまして感謝しております。 ありがとうございました。
- askaaska
- ベストアンサー率35% (1455/4149)
data[0] = Integer.parseInt(args[0]); こうよ。 面倒でも1つずつ。
お礼
たびたび御回答ありがとうございます。 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)
public static void main(String[] args) このargsは飾りじゃないのよ。 これを調べてみると答えが見えるんじゃないかしら。
お礼
度々有難う御座います。 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)
要するに コマンドプロンプトから入力したいってこと? まだ分かりにくいわ。 こうなるといいっていう完成予想図的なものが書ける?
お礼
たびたびすみません。 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)
画面ってどんな画面? あまりにも漠然としすぎて 少しは下調べしてきてっ としか言えないわ。
お礼
すみません、下記は自分で作ったのですが、 どうしたいかと言うと、実行して引数を入れると 結果が表示される様にしたいのです。 これじゃダメだと思うのですが、それではどうしたらよいかと 考えるとまず何を考えたらよいかわかりません。 本当にすみませんが、もう一度宜しく御願い申し上げます。 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); } }
お礼
御回答ありがとうございました。 本当に助かりました。 御指導有難う御座いました。