我必须为一个想要在输出中使用oldScores而不是newScores[0] = 20
和newScores[3] = 10
的数组编写一个循环。
我在测试{10, 20, 30, 40,}
时通过了我的第一次运行。期望输出:20 30 40 10
。
当它通过第一次测试时,它会再次使用oldScores = {199}
对其进行测试,期望输出只有199
。
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;
/* solution goes here */
for (i = 0; i < SCORES_SIZE; ++i) {
System.out.print(newScores[i] + " ");
}
System.out.println();
return;
}
}
我使用的代码在这里
for(i=0; i<SCORES_SIZE -1; i++){
newScores[i] = oldScores[i +1];
newScores[3] = oldScores[0];
}
顺便说一下,其余代码无法更改,只能更改解决方案。
答案 0 :(得分:1)
您似乎走在了正确的轨道上,但是您的解决方案逻辑过于复杂。这是一个更简单的选项:
System.arraycopy(oldScores, 0, newScores, 0, oldScores.length); // create copy of oldScores and place it in newScores.
newScores[0] = 20;
newScores[3] = 10;
或者,如果您不想使用System.arraycopy()
,则只需迭代每个元素即可复制数组。例如,
for(int i = 0; i < oldScores.length; i++) {
newScores[i] = oldScores[i];
}
答案 1 :(得分:1)
您似乎试图通过旋转数组<div class="switch">
<input id="cmn-toggle-1" class="cmn-toggle cmn-toggle-yes-no" type="checkbox" data-click-state="1">
<label for="cmn-toggle-1" data-on="Color" data-off="B&W" data-click-state="1"></label>
</div>
中的元素来创建数组data-click-state="1"
。
并且您不需要在每个循环中执行newScores
,只需执行一次。
以下解决方案适用于给定oldScores
newScores[3] = oldScores[0];