[解決済み] Javaで3つの数値を昇順に並べ替えることができない問題
2022-03-01 12:02:45
質問
現在、あるプログラムを作っているのですが、どうしても思い通りに動作させることができません。スキャナで3つの整数を入力し、昇順で出力する必要があります。技術的にはうまくいったのですが、従うべき構造には従っていません。私のメインメソッドには宣言と入力があります。それから、ソートを行う2番目のメソッドを使用する必要があります。この新しいメソッドの中でソートを行うと、数字が全くソートされないのです。コンパイルして実行し、数字を入力するとプログラムが終了してしまいます。2番目のメソッドがない場合は、ほとんど正しく実行されます。2番目のメソッドの外で実行すると、私が論理的だと思った方法で数字をソートする際に、いくつかのエラーが発生しました。
とにかくこれが、私が考え出したコードです。
import java.util.Scanner;
public class Ch5PA1
{
public static void main(String[] args) {
// Declarations
Scanner input = new Scanner(System.in);
System.out.print("Enter three values: ");
int num1 = input.nextInt();
int num2 = input.nextInt();
int num3 = input.nextInt();
}
/** Sort Numbers */
public static void displaySortedNumbers(double num1, double num2, double num3){
if ((num1 < num2) && (num2 < num3)){
System.out.println("The sorted numbers are " + num1 + " " + num2 + " " + num3);
}
if ((num1 < num2) && (num2 > num3)){
System.out.println("The sorted numbers are " + num1 + " " + num3 + " " + num2);
}
if ((num1 > num2) && (num2 > num3)){
System.out.println("The sorted numbers are " + num3 + " " + num2 + " " + num1);
}
if ((num1 > num2) && (num2 < num3)){
System.out.println("The sorted numbers are " + num2 + " " + num1 + " " + num3);
}
}
}
もうひとつ、私が抱えている問題と同じ(あるいは似た)問題について、いくつかの質問をされているのを見かけましたが、回答は配列を使うことにこだわっています。私はこの問題で配列を使用することができません。
先に謝っておきます。
解決方法は?
メインメソッドで、あなたのメソッドを呼び出します。
public static void main(String[] args) {
// Declarations
Scanner input = new Scanner(System.in);
System.out.print("Enter three values: ");
int num1 = input.nextInt();
int num2 = input.nextInt();
int num3 = input.nextInt();
displaySortedNumbers(num1, num2, num3);
}
また、3つの数字の並べ替えについては、こちらの古い投稿をご覧ください。
そして、あなたのコードを見てみると、3つの数字を2回比較するだけでソートするのは不可能だと思うのですが。
関連
-
[解決済み] Jdbctemplate の文字列に対するクエリです。EmptyResultDataAccessException: 不正な結果サイズ:期待値1、実際0
-
[解決済み] Eclipse デフォルトのフォント名
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] JOGLまたはLWJGLの既成のプロジェクト
-
[解決済み] Java の条件付きコンパイル:コードチャンクをコンパイルしないようにするには?
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] java.lang.ClassNotFoundException: クラス com.ibm.db2.jcc.DB2Driver が Worklight プラットフォームまたはプロジェクトに見つかりませんでした。
-
[解決済み] 最も近い整数への切り捨て - 私は不正をしているのでしょうか、それともこれは十分すぎるほど適切なのでしょうか?
-
[解決済み] init-paramとcontext-param
-
[解決済み] SQL 昇順ソート時に null 値を最後にする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] JDBC タイプの方言マッピングがありません。1111
-
[解決済み] 文字列が一意な文字であるかどうかを判定する
-
[解決済み] init-paramとcontext-param
-
[解決済み] java.io.IOException。DER長の短い読み取り
-
[解決済み] .lengthが解決できない、またはフィールドでない