質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

Q&A

解決済

2回答

5956閲覧

ArrayListの中の数値が最大値のときの配列番号

pro

総合スコア28

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

0グッド

0クリップ

投稿2017/02/01 04:26

編集2017/02/01 04:48

###前提・実現したいこと
配列同士の演算結果をArrayListに格納し、その中での際で最大値をとるときの配列番号を求めたい。

###発生している問題・エラーメッセージ
参考にしたプログラムは機能するが、意味が理解できないので応用できない。
int c =-100;の果たす役割が知りたいです。

###該当のソースコード

int[] a = new int[]{1, 4, 2, 3, 4, 5}; int[] b = new int[]{2, 1, 5, 6, 7, 0}; ArrayList<Integer> sum = new ArrayList<Integer>(); int c =-100;//このコードの果たす役割がわからない int max = 0; for (int t = 0; t < a.length; t++) { sum.add((a[t] - b[t])); if (max < (a[t] - b[t])) { max = a[t] - b[t]; c = t; } sum.get(c) } System.out.println(c)

###試したこと
有限な配列の場合なら理解できる

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Java

1int c =-100;//このコードの果たす役割がわからない

このcですが、cはまさに「最大値をとるときの配列番号」です。なぜ-100を初期値にいれるかというと、別に-100という数字に意味はないんです。0でも-100でも、このコードで考えれば正しく動作します。しかしなぜ0ではいけないのか。それは「配列を調べた結果、0番目が最大」なのか、「配列が1つもデータが入っておらず、一度も処理されずに0のままなのか」の区別がつかないからです。配列番号は絶対にマイナスにはなりえません。0から始まり配列の長さ-1までの範囲を取ります。だから初期値にマイナスを入れておくことで、区別をつけることができるようになります。

投稿2017/02/01 04:47

masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pro

2017/02/01 04:52

理解できました。ありがとうございます。
guest

0

最後のsum.get(t)はsum.get(c)の誤りではないでしょうか。

投稿2017/02/01 04:33

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問