[解決済み】配列要素のコピーと修正
質問
以下は、プロンプトの原文です。
newScoresをoldScoresを左に一回シフトしたものに設定し、要素0を最後にコピーするループを書きなさい。例:oldScores = {10, 20, 30, 40}の場合、newScores = {20, 30, 40, 10}とする。
注意:これらのアクティビティは、異なるテスト値でコードをテストすることができます。このアクティビティは2つのテストを実行します。1つ目は4要素の配列(newScores = {10、20、30、40})で、2つ目は1要素の配列(newScores = {199})で実行します。zyBooksの使い方を参照してください。
また、注意:提出されたコードが無効な配列要素にアクセスしようとした場合、例えば4要素の配列に対して newScores[9] のように、テストは奇妙な結果を生成する可能性があります。あるいは、テストがクラッシュして "Program end never reached" と報告されるかもしれません。この場合、報告されたメッセージの原因となったテストケースはシステムには表示されません。
これは、私が持っているコードです。
public class StudentScores {
public static void main (String [] args) {
final int SCORES_SIZE = 4;
int[] oldScores = new int[SCORES_SIZE];
int[] newScores = new int[SCORES_SIZE];
int i = 0;
oldScores[0] = 10;
oldScores[1] = 20;
oldScores[2] = 30;
oldScores[3] = 40;
for (i = 0; i < SCORES_SIZE - 1; i++) {
newScores[3] = oldScores[0];
newScores[i] = oldScores[i + 1];
}
for (i = 0; i < SCORES_SIZE; ++i) {
System.out.print(newScores[i] + " ");
}
System.out.println();
return;
}
}
これが私の出力です。
oldScores = {10, 20, 30, 40}をテストする。
あなたの出力 20 30 40 10
✖ oldScores = {199} のテスト。
期待される出力 199
あなたの出力 0
2回目の出力テストで0が表示されるのはなぜですか?
解決方法は?
の値をコピーしているforループは、そのループの中にある。
oldscores
から
newscores
の場合、決して実行されません。
SCORES_SIZE == 1
というのは
SCORES_SIZE - 1 == 0
を、そして
0 < 0
は即座に偽となります。
を移動します。
newScores[SCORES_SIZE - 1] = oldScores[0];
の行は、for ループの外側にあります。
for (i = 0; i < SCORES_SIZE - 1; i++) {
newScores[i] = oldScores[i + 1];
}
newScores[SCORES_SIZE - 1] = oldScores[0];
関連
-
[解決済み】Javaで文字列をコピーするにはどうしたらいいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android Studio クラス org.codehaus.groovy.runtime.InvokerHelper を初期化できませんでした。
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】指定された子にはすでに親がいます。先に子の親に対してremoveView()を呼び出す必要がある(Android)
-
[解決済み】宣言されたパッケージが期待されるパッケージと一致しない ""
-
[解決済み】JLabelのテキストを中央に配置するには?
-
[解決済み] intellijが自動配線リポジトリにタイプのBeanが見つからないと不正確な発言をする件
-
[解決済み】Java Error "Exception in thread "main" java.util.InputMismatchException" Array プログラムで発生。
-
[解決済み】Ubuntu: OpenJDK 8 - パッケージを見つけることができません。
-
[解決済み] SQLエラー。0, SQLState: 08S01 通信リンクの失敗 [重複]。