首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我有一个数组程序,条件是必须返回一个新的数组,该数组替换数组中下一个最高的元素

我有一个数组程序,条件是必须返回一个新的数组,该数组替换数组中下一个最高的元素
EN

Stack Overflow用户
提问于 2018-07-05 00:17:09
回答 1查看 36关注 0票数 0

假设我的输入是10,8,6,15,2,-1

输出应为15,10,8,15,6,2

我写了一组代码:

代码语言:javascript
复制
    public static void main(String[] args) {
        int[] unsortesArray=new int[]{10,8,6,15,2,-1};
        int len=unsortesArray.length;

        for(int i=0;i<len; i++){
            for(int j=0; j<len; j++){
                if(unsortesArray[i]<unsortesArray[j]){
                    unsortesArray[i]=unsortesArray[j];
                }
            }
            System.out.println(unsortesArray[i]);
        }
    }

但是没有得到预期的输出。请建议解决方案。

EN

回答 1

Stack Overflow用户

发布于 2018-07-05 01:04:58

您需要交换这两个数字:

代码语言:javascript
复制
public static void main(String[] args) {
    int[] unsortesArray=new int[]{10,8,6,15,2,-1};
    int len=unsortesArray.length;

    for(int i=0;i<len; i++){
        for(int j=i+1; j<len; j++){
            if(unsortesArray[i]<unsortesArray[j]){
                int temp = unsortesArray[i]; // create a temp var to store the value you are going to swap 
                unsortesArray[i]=unsortesArray[j]; // swap the value
                unsortesArray[j] = temp; // save it back again in the array 
            }
        }
        System.out.println(unsortesArray[i]);
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51177710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档