繁体   English   中英

如何在这个 JAVA 阵列中切换这两个元素?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM