[解決済み] この配列の中の数字を入れ替えるには、何が足りないのでしょうか?ジャバ
2022-03-04 22:12:21
質問
私の課題では、この特定のJava配列(これはオンラインブックで、テスト段階で50%の割合)を半分ほど解いています。しかし、私は何が欠けているのかを理解することができません。このコードでは、私は(要求された任意の量の)2つの数字を逆に入力する必要があります。私は同じような状況をオンラインで探してみましたが、私が必要とするものに答えてくれるものはありませんでした。
方向は? 配列のパラメータの最初と最後の要素を入れ替える swapArrayEnds() メソッドを作成しなさい。例:sortArray = {10, 20, 30, 40} は {40, 20, 30, 10} になる。配列のサイズは4と異なる場合があります。
import java.util.Scanner;
public class ModifyArray {
// ANYTHING ABOVE THIS COMMENT CANNOT BE MODIFIED
public static void swapArrayEnds(int[] sortArray, int numElem) {
numElem = 4;
int i = 0; // Loop index
int tmpStore = 0; // Temp variable for swapping
for (i = 0; i < numElem; ++i) {
tmpStore = sortArray[i]; // Do swap
sortArray[i] = sortArray[numElem - 1];
sortArray[numElem - 1] = tmpStore;
}
return;
}
// ANYTHING BELOW THIS COMMENT CANNOT BE MODIFIED
public static void main (String [] args) {
int numElem = 4;
int[] sortArray = new int[numElem];
int i = 0;
sortArray[0] = 10;
sortArray[1] = 20;
sortArray[2] = 30;
sortArray[3] = 40;
swapArrayEnds(sortArray, numElem);
for (i = 0; i < numElem; ++i) {
System.out.print(sortArray[i]);
System.out.print(" ");
}
System.out.println("");
return;
}
}
今のところ、私のエラーコードは
Testing with original sortArray = {10, 20, 30, 40}
Expected output: 40 20 30 10
Your output: 40 10 20 30
Tests aborted.
どうしてこのような入力になったのかわかりませんが、単に元の最後の数字が元の最初の数字の前に置かれただけなのです。どうすれば、最初の数字と最後の数字が入れ替わるようになるのでしょうか?
どのように解決するのですか?
以来 のみ の場合、末尾を入れ替える必要があり、この入れ替えを行う必要があります。 正確に一度 (繰り返しではない)というのはどうでしょう。
// Why do you need yo swap it in a cycle, thus many times???
/* Commenting faulty code out
for (i = 0; i < numElem; ++i) {
tmpStore = sortArray[i]; // Do swap
sortArray[i] = sortArray[numElem - 1];
sortArray[numElem - 1] = tmpStore;
}
*/
// A single time should do
tmpStore = sortArray[0]; // Do swap with the starting end
sortArray[0] = sortArray[numElem - 1];
sortArray[numElem - 1] = tmpStore;
(注:初心者を馬鹿にしたような無意味なコメント/回答はもう飽きたと思います)
関連
-
[解決済み] 数値の配列の和の求め方
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] Javaで汎用配列を作成する方法は?
-
[解決済み] Javaで配列をリストに変換する
-
[解決済み] Java 8 StreamをArrayに変換する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jdbctemplate の文字列に対するクエリです。EmptyResultDataAccessException: 不正な結果サイズ:期待値1、実際0
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] java.util.concurrent.ExecutionException 例外をどのように処理しますか?
-
[解決済み] Javaでのスキャナが動作しない
-
[解決済み] javascriptでExpression言語を使うには?
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] 午前0時からの時間を秒単位で取得する方法
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] タイプの安全性。アンチェック・キャスト
-
[解決済み] init-paramとcontext-param