私はこのJavaの問題に数日間苦労してきましたが、今はあきらめなければなりません. 私は 5 5 3 3 であるはずの答えを教えられましたが、どのようにしてその結果を得ることができるのか、まったくわかりません。
次の Java メソッドがあるとします。
public int[] methodName(int[] nums)
{
int largestOdd=0;
for(int i=nums.length-2;i>=0;i--)
{
if (nums[i+1] % 2 != 0 && nums[i+1] > largestOdd)
largestOdd = nums[i+1];
if (nums[i] == 0)
nums[i] = largestOdd;
}
return(nums);
}
次の Java ステートメントが実行されると、何が出力されますか?
int[] nums = {0,5,0,3};
nums = methodName(nums)
for (int i = 0; i<nums.length;i++)
System.out.print(nums[i] + "");
System.out.println();
まず最初に「5」の出力を開始することは、私には意味がありません。私の意見では、nums[2+1] = 3 (最後のインデックス要素) であるため、「3」にする必要があります。
次に、メソッドのループが -1 に達するまで 3 回だけループするのに、なぜ 4 つの数値を出力するのでしょうか。
誰かが結果を理解できる方法で説明できるなら、私はとても幸せです.
前もって感謝します