- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Complete the method secondHalf that returns an array that is the second half of list. If the length of list is odd, second half return the smaller half of the list.
我正在为自己做一个我犯了错误的测验的更正。示例输出如下:
1,2,3,4 --> 3,4
1,2,3,4,5-->4,5
我为这个方法写的内容(根据我的老师的说法有一半是错误的)是:
public int [] secondHalf(int[]list)
{
int []a = new int [list.length/2];
for(int i =0;i<list.length;i++)
{
a[i]=list[list.length/2+i];
}
return a;
}
最佳答案
您的方法迭代整个 Array
通过然后复制list[list.length/2+k];
元素转移到新的Array
。 (我假设 k
在这里应该是 i
。)
这不仅会导致 indexOutOfBoundsError
,这将返回 Array
与 Array
大小相同你可以通过循环直到 a.length
来解决这个问题。 ( for(int i =0;i<a.length;i++)
),但这仅适用于 Array
大小均匀。
您可以使用内置方法 Arrays.copyOfRange()
:
public int[] secondHalf(int[] arr) {
return Arrays.copyOfRange(arr, (arr.length+1)/2, arr.length);
}
或者仅使用循环:
public int[] secondHalf(int[] arr) {
int[] newArr = new int[arr.length/2];
for(int i = (arr.length+1)/2, j = 0; i < arr.length; i++){
newArr[j++] = arr[i];
}
return newArr;
}
示例输入和输出:
Input: [1, 2, 3, 4]
Output: [3, 4]
Input: [1, 2, 3, 4, 5]
Output: [4, 5]
关于java - 编写返回数组后半部分的方法 secondaryHalf。不能使用快捷方式,只能使用for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54067210/
有一条(相对)众所周知的 Perl 公理:“只有 Perl 可以解析 Perl”。我想知道 Perl 6 是否仍然如此? 扩大讨论...考虑到 PyPy 最近的更新,我想到了这个问题。 Perl 独特
这是设置。在上一个问题中,我发现我可以通过子组件中的状态传递对象属性,然后使用 componentDidUpdate 获取该对象属性。在这种情况下,状态和属性都称为到达。 这是基本代码... expo
我运行的是 10.5.2 社区版。我已经标记了 源/主要/资源 作为源目录。我可以右键单击并“编译”某些文件,据我所知,这意味着 IDE 将文件复制到与发送类文件的“com.mydomain.pack
我是一名优秀的程序员,十分优秀!