これ何て呼びますか

ソートした結果というのは出るんですけど、その結果を利用することは出来ないですか?

7・2・8 → 2・7・8

すべての表示はいらないので、ソートの結果の2番目の7と比較したい場合です。

例) 比較したい数字 3

2番目  < 3 

ソートの結果の2番目を、比較するための数字として利用する場合は、通常使うソートでも可能になってるのでしょうか?

よろしくお願いします。

質問者からの補足コメント

  • どう思う?

    きっと同じような繰り返しになるので終わります(笑

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

      補足日時:2018/11/11 18:34

A 回答 (11件中1~10件)

>No.10 回答者: amanojaku6



補足

つまり、a[1]の内容を表示したい場合は下記のようになります。

System.out.println(a[1]);
    • good
    • 0
この回答へのお礼

知りたいのはソートじゃなくて、ソート後の番号です。
ソートされた後に、2番目がa[1]だけで分かりますか?
a[1]の内容って言うのは数字じゃなく、a[1]が何番目かを表示することです。
その表示がビジュアルではなくて・・・
マックスならmaxで1つの答えが出るようにです。
ソートは出ないでしょ?
a[1]を表示したい知りたい何の数字かではなくて、例えば2番目が何かを知りたいってことですけど・・・

お礼日時:2018/11/11 18:30

>No.9 回答者: amanojaku6



補足

「a」は配列全体です。

「a[0]、a[1]、a[2]、…」は配列内の個別の要素です。
    • good
    • 0

>ソートの表示は出せても、数字を個別では「扱えない」ですよね?


>(1・2・3・4・5)セットの表示じゃなく、1の答え、2の答え、3の答え・・・です。

>a[5] = dat[26];
>a[6] = dat[31];
>a[7] = dat[36];
>
>Arrays.sort(a);
>
>if (a[1]<3) {}

↑この場合
1番目の配列要素のデータ(答え)はa[0]
2番目の配列要素のデータ(答え)はa[1]
3番目の配列要素のデータ(答え)はa[2]

となります。
    • good
    • 0
この回答へのお礼

お礼日時:2018/11/11 18:22

チョット分かりにくかった」でしょうか。



>※arrayは予約語ではなくプログラマーが(命名規則の範囲内で)自由に命名できるモノです。

※array変数は予約語ではなくプログラマーが(命名規則の範囲内で)自由に命名しているものです(hogeでも、piyoでも、hugaでも自由に命名して良いモノです)。
    • good
    • 0
この回答へのお礼

はい。

お礼日時:2018/11/11 16:34

>上の表示がプログラム上になくても、番号が割り振られてると思えば良いんですね。



そうです。

>a[5] = dat[26];
>a[6] = dat[31];
>a[7] = dat[36];
>
>Arrays.sort(a);
>
>if (array[1]<3) {} ← これを追加でエラーが出ます。(変数に解決できません)

ここでsortしている配列変数は何ですか?(下記をジックリ見て下さい)

>Arrays.sort(a);

↑ここでsortしている配列変数は「a」です。
前述した通り、「a」配列変数をソートしていますから、ソートした結果は その「a」配列変数に入ります。
よって下記のようになります。

if (a[1]<3) {~}

※arrayは予約語ではなくプログラマーが(命名規則の範囲内で)自由に命名できるモノです。
もし、hogeを使いたいなら下記のようになります。

int[] hoge;
hoge[5] = dat[26];
hoge[6] = dat[31];
hoge[7] = dat[36];
Arrays.sort(hoge);
if (hoge[1]<3) {}
    • good
    • 0
この回答へのお礼

その内容は理解してるんですけど、求めてるのは個別の番号です。
ソートの表示は出せても、数字を個別では「扱えない」ですよね?
(1・2・3・4・5)セットの表示じゃなく、1の答え、2の答え、3の答え・・・です。

定番の構文でもあるのならば、知りたいと思ってるわけです。
ソートの結果を知りたいわけじゃないんです。
ソートした後のそれぞれの情報を知りたいんです。
いつでも取り出せるように。

お礼日時:2018/11/11 16:33

一度にいろいろやろうとしてませんか?



混乱したまま続けようとしても無理。
落ち着いてある程度理解してから進めましょう。


今の状況なら、まずは「配列」とはどんなものかを理解しましょう。

・○○型の配列 とは ○○型を複数まとめて一つの塊で扱うため仕組の一種
・(通常は)○○型の配列変数 に納められている。変数なので(ルールの範囲内で)自由に名前が付けられる。
・配列では、○○型の要素(中身)が一列に並べられているイメージ。
・その先頭から 0 ,1,2,...と添字が割り当てられていて、要素を使うときは、添字で呼び出す。
 ※ 添字は0開始なので、「1番目」は0、「2番目」は1、... と、なる
 配列変数 hairetsu の 添字 5 の要素は hairetst[5]
 違う配列変数の違う添字なら、当然違うものになる。

・ソート は、配列を順序よく並び換えるもの。
 「順序」には通常「要素の大小関係」が使われる


これが理解できていれば
以下のような質問自体が出てこないはずです。

> ソートの結果の2番目の7と比較したい

> a[5] = dat[26];
> Arrays.sort(a);
if> (array[1]<3) {} ← これを追加でエラーが出ます。(変数に解決できません)
    • good
    • 0
この回答へのお礼

答えが1つの場合は、if (max1 == dat[6])ではいけるけど、ソートの場合は、if(array[1]<3)になるって書かれてたので、maxでも動作するとこに入れてみただけです。
下記回答だけ見れば、max1に相当するものがarray[1]でいけるものだと読めたのですが?
ソートの1番目が[1]になるのかな?と思ったんです。

お礼日時:2018/11/11 09:54

>No.4 回答者: amanojaku6



補足

>「array1」配列変数の添え字をゼロからスタートさせて順次表示しています。

forループで「array1」配列変数の添え字をゼロからスタートさせて順次表示しています。
    • good
    • 0
この回答へのお礼

a[5] = dat[26];
a[6] = dat[31];
a[7] = dat[36];

Arrays.sort(a);

if (array[1]<3) {} ← これを追加でエラーが出ます。(変数に解決できません)

最大値・最小値の結果のように、比較する対象としてのarray[1]にはならないのですか?
if (max2 == dat[1]) {} ← 最大値・最小値の場合はOKです

同じようにソートも出来るようにしたいのですが・・・

まだJAVAはじめて2週間で、まだまだ混乱してます。

お礼日時:2018/11/11 07:10

https://oshiete.goo.ne.jp/qa/10816501.html

>// sortをカスタマイズする。
>Arrays.sort(array1, new Comparator<ArrayElement>() {
>@Override
>public int compare(ArrayElement ae0, ArrayElement ae1) {
>return ae0.vsData.compareTo(ae1.vsData);
>}
>});
>
>for( int i = 0; i<array0.length; i++){
>System.out.println(
>array1[i].viIndex+"; "+
>array1[i].vsData+"; "+
>"");


この場合、「array1」配列変数をソートしていますから、ソートした結果は その「array1」配列変数に入りますので、「array1」配列変数の添え字をゼロからスタートさせて順次表示しています。
    • good
    • 0
この回答へのお礼

これも・・・?
1番目は「array[0]」
2番目は「array[1]」
3番目は「array[2]」


if(array[1]<3){~}
として使えるのですか?
やってみます・・・
ていうか、まだGUIを作成してからプログラムを入れてもコンソールに結果が出ないので苦労してます(笑

お礼日時:2018/11/11 05:42

>No.2 回答者: amanojaku6



補足

例えばhoge配列変数をソートすると、ソートした結果は そのhoge配列変数に入ります。
    • good
    • 0
この回答へのお礼

hoge配列変数については、まださっぱり・・・

お礼日時:2018/11/11 05:43

>7・2・8 → 2・7・8


>
>すべての表示はいらないので、ソートの結果の2番目の7と比較したい場合です。
>
>例) 比較したい数字 3

配列の型ははintになってますか?
配列はゼロ・スタートですので、ソートの結果がarray配列変数に入ってるとした場合

1番目は「array[0]」
2番目は「array[1]」
3番目は「array[2]」


となります、よって

if(array[1]<3){~}
    • good
    • 0
この回答へのお礼

上の表示がプログラム上になくても、番号が割り振られてると思えば良いんですね。

お礼日時:2018/11/11 05:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!