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

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

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

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

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

1065閲覧

配列を表示させるには

kt-

総合スコア5

Java

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

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2021/01/27 09:25

編集2021/01/27 11:39

###実現したいこと
私はJavaプログラミング初心者です。
私は絶対値の小さい順に配列を並べ替えるプログラムと配列の各要素を正の整数rで割った余りの小さい順に並べ替えるプログラムを以下の条件のもと、以下のように作成しましたが、表示させるところで、後述のエラーメッセージが出てしまいます。
私が実現したいことは並べ替えた後の配列を、きちんと並べ替えができているかを確認するため、それぞれ表示させたいということです。
以下のプログラムで、どう書き直せば配列がきちんと並べ替えているかを確認できるか、ご教授願えると幸いです。
###条件
(メソッド名) sort1
(引数 1) int[] x
(戻値) なし

(メソッド名) sort2
(引数 1) int[] x
(戻値) なし
###表示されるエラーメッセージ
型PrintStreamのメソッドprint(boorean)は引数(void)に適用できません。
###作成したプログラム

public static void main(String[] args) { int[]x= {2,3,2,-1,-4}; int[]z= {2,3,2,1,4}; System.out.print(sort1(z));//ここと、 System.out.print(sort2(z,r));//ここをどう書き直せばいいのか詰まっている状況です public static void sort1(int[]x) { for(int i=0; i<x.length; i++){ for(int j=0; j<x.length-i; j++){ if (Math.abs(x[i]) > Math.abs(x[j])) { int temp = x[i]; x[i] = x[j]; x[j] = temp; } } } } public static void sort2(int[]x,int r) { for(int i=0; i<x.length; i++){ for(int j=0; j<x.length-i; j++){ if (x[i]%r>x[j]%r) { int temp = x[i]; x[i] = x[j]; x[j] = temp; } } } }

###これまでやったこと
System.out.print(toString(sort1(x)));
System.out.print(toString(sort2(z,r)));
→同様のエラーメッセージ

System.out.print(Arrays.toString(sort1(x)));
System.out.print(Arrays.toString(sort2(z,r)));
→同様のエラーメッセージ

###指摘の通りに書き直したプログラムと課題
指摘の通りにプログラムを書き直しました。

public static void main(String[] args) { int[]x={2,3,2,-1,-4}; int[]z={2,3,2,1,4}; int r=4;     sort1(x); sort2(z,r); } public static void sort1(int[]x) { for(int i=0; i<x.length; i++){ for(int j=0; j<x.length-i; j++){ if (Math.abs(x[i])<Math.abs(x[j])) { int t = x[i]; x[i] = x[j]; x[j] = t; System.out.print(x[i]); System.out.println(); } } } } public static void sort2(int[]x,int r) { for(int i=0; i<x.length; i++){ for(int j=0; j<x.length-i; j++){ if (x[i]%r < x[j]%r) { int t = x[i]; x[i] = x[j]; x[j] = t; System.out.print(x[i]); System.out.println(); } } } }

しかし出力画面には

3 -4 -4 -4 2 3 3 3 2 1

と表示されるのですが、これはどこの部分が違うからなのでしょうか。色々変えてみましたが分からなかったので、ご教授願えると幸いです。

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

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

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

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

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

kaina

2021/01/27 09:36

質問の条件にsort1メソッドとsort2メソッドの仕様をご自分で書いていますが、 そこにどちらも(戻値) なしと書いてますよね? ではsort1メソッドとsort2メソッドを実行した結果は何が返ってきますか? 以下の書き方だとsort1メソッドとsort2メソッドの実行結果をそのままprintの引数として 渡す書き方になっています。 これらを踏まえ、もう一度エラーメッセージの内容をよく確認してみましょう。 そうすればどのようにすれば問題解決出来るか分かるはずです。 System.out.print(sort1(z));//ここと、 System.out.print(sort2(z,r));//ここをどう書き直せばいいのか詰まっている状況です
m.ts10806

2021/01/27 09:53

このコード コピペで動くんでしょうか。
guest

回答1

0

自己解決

ご教授のもと書き直して、完成しました。ありがとうございました。

public class HW4_20E1304K { public static void main(String[] args) { int[]x={2,3,1,-1,-4}; int[]z={2,3,1,1,4};          int r=4;          sort1(x); System.out.print(Arrays.toString(x)); System.out.println(); sort2(z,r); System.out.print(Arrays.toString(z)); System.out.println(); }      public static void sort1(int[]x) { for(int i=0; i<x.length; i++){ for(int j=0; j<x.length; j++){ if (Math.abs(x[i])>Math.abs(x[j])) { int t = x[i]; x[i] = x[j]; x[j] = t; } } } } public static void sort2(int[]x,int r) { for(int i=0; i<x.length; i++){ for(int j=0; j<x.length; j++){ if (x[i]%r > x[j]%r) { int t = x[i]; x[i] = x[j]; x[j] = t; } } } }

投稿2021/01/27 13:10

kt-

総合スコア5

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問