![](/img/trans.png)
[英]In Java how do I initialize elements in array in several lines, not one?
[英]How do I switch these 2 elements in this JAVA array?
我正在尝试使用 for 循环切换此数组中最大和最小的元素,但是我似乎不知道该怎么做。 有人能帮我吗? 将不胜感激,谢谢!
public void assign(int[]IntArray) {
int BiggestNumber = IntArray[0];
int SmallestNumber = IntArray[0];
for(int i = 0; i < IntArray.length; i++) {
if(IntArray[i] > BiggestNumber) {
BiggestNumber = IntArray[i];
} else if(IntArray[i] < SmallestNumber) {
SmallestNumber = IntArray[i];
}
}
BiggestNumber = IntArray[SmallestNumber];
System.out.println(BiggestNumber);
}
这个问题可以有多种解决方案。
我将使用索引而不是值/数字,即 BiggestNumber 和 SmallestNumber 分别是最大和最小数字的索引。 然后,我将 IntArray[i] 的值与 IntArray[BiggestNumber] 和 IntArray[SmallestNumber] 进行比较,如果为真,则将索引i
存储在 BiggestNumber 或 SmallestNumber 中。 最后,在我for
循环之后,我将使用另一个变量在两个索引处交换数组中的值。
为您指明方向:
int BiggestNumber = 0;
int SmallestNumber = 0;
if(IntArray[i] > IntArray[BiggestNumber])
{
BiggestNumber = i;
}
并交换:
int a = IntArray[BiggestNumber];
IntArray[BiggestNumber] = IntArray[SmallestNumber];
IntArray[SmallestNumber] = a;
希望您能够填写我留给您填写作业的缺失部分。
PS:我假设该方法适用于实例/对象级别,即根据您的代码是非静态的,否则,我会在其中添加关键字static
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.