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

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

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

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

Q&A

1回答

1370閲覧

配列内を降順で出力する方法を教えてください。

Nemuu

総合スコア14

Java

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

0グッド

1クリップ

投稿2021/06/26 04:48

エクリプスを使って配列内(int[] unko= {1,6,8,3};)を小さい順にに並び替えて出力したいのですが、エラーが消えません。
改善策を教えていただけると幸いです。
Java歴1週間なので初歩的なミスでしたら申し訳ないです。

エラー内容(Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Arrays cannot be resolved

at test.helloworld.main(helloworld.java:8))

イメージ説明

Java

1package test; 2 3public class helloworld { 4 public static void main(String[] args) 5 6 { 7 int[] unko= {1,6,8,3}; 8 Arrays.sort(unko); 9 for(int i=0; i<unko.length; i++) 10 System.out.println(unko[i]); 11 12} 13}

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

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

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

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

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

guest

回答1

0

エラーがでたら、まずエラーメッセージを確認しましょう。
わからなければ検索するようにしましょう。

https://teratail.com/questions/261820

リンク先の回答に補足

「Arrays cannot be resolved」は直訳すれば「Arraysが解決できない」です
これは「Arraysクラスの定義がみつからない」ということを意味しています。

//修正
学習して一週間だとimportについて知らないかもしれませんが、importで指定するか、パッケージ名を付与しないとコンパイラが見つけられません。
但し、以下の場合は不要です。
・.javaファイル内のクラス
・同一パッケージクラス
・(後述)java.langパッケージのクラス
・java.ioパッケージのクラス
・コンパイル時 classpathを指定した場合
・CLASSPATH環境変数のパス
・その他あるかも?
//修正終わり

Arraysクラスはjava.utilというパッケージに所属していて、そのままでは見つけられない為エラーがでています。

importで指定すると、.javaファイル内にArraysクラスの定義がなければ、Arraysクラスをそこから探してくれます。

(既存クラスに被るクラスを定義すべきではないですが、説明のためにしています)
例えば以下のようにArraysクラスを定義すれば、

Java

1public class helloworld { 2 public static void main(String[] args) { 3 int[] unko= {1,6,8,3}; 4 Arrays.sort(unko); 5 for(int i=0; i<unko.length; i++) 6 System.out.println(unko[i]); 7 } 8} 9//追加 10class Arrays { 11 static void sort(Object a) { 12 System.out.println("Arrays.sort"); 13 } 14}

Arrays.sort

と出力されます。importがなくても同じ.java定義内に定義があるので、コンパイラはArraysクラスを見つけることができエラーはでません。

尚、importとArraysクラスを同時に使うとjavac のversion11.0.9.1ではエラーが、version8.0.275では.javaで定義したArraysが優先されました。

またimport文がなくても以下のようにパッケージ名を指定すればArraysクラスの在り処がわかるので、エラーなく実行できます。

Java

1 java.util.Arrays.sort(xxxx);

(参考)
尚Stringもクラスですが、Java.langというパッケージに所属していて、基本となるパッケージなので明示的にimportする必要はありません。
パッケージ java.lang

java.langパッケージとグラフィックの基本処理
https://codezine.jp/article/detail/6078

投稿2021/06/26 14:27

編集2021/06/26 14:44
Crimson_Tide

総合スコア509

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問