小阿九要再努力一点 2022-04-08 23:07 采纳率: 100%
浏览 43
已结题

一天一个Java问题

public class RenWuFour {
public static void main(String[] args) {

    int ages[] = {11, 15, 17, 12, 14, 20, 19, 18, 13, 16};
    int temp = 0;
    int A = 0;
    int[] newAges = new int[ages.length];//存储年龄的新数组;

    /*首先进行排序,偶数降序,奇数升序*/
    for (int i1 = 0; i1 < ages.length - 1; i1++) {
        for (int j1 = 0; j1 < ages.length - 1 - i1; j1++) {
            if (ages[A] % 2 == 0 && (ages[j1] < ages[j1 + 1])) {//是偶数且前一个数小于后一个数
                temp = ages[j1];
                 ages[j1] = ages[j1 + 1];
                ages[j1 + 1] = temp;
            }
        }
        for (int j1 = 0; j1 < ages.length - 1 - i1; j1++) {
            if ((ages[j1] > ages[j1 + 1]) && ages[A] % 2 != 0) {//是奇数且前一个数大于后一个数
                temp = ages[j1];
                ages[j1] = ages[j1 + 1];
                ages[j1 + 1] = temp;
            }
        }
    }
    /*    排序结束   接下来查询奇偶数   */

    for (int i = 0; i < 2; i++) {//外循环控制查询两次
        for (int j = 0; j < ages.length; j++) {
            if (i == 0) {//第一次查询偶数
                if (ages[j] % 2 == 0) {
                    newAges[A++] = ages[j];

                }
            } else {//第二次查询奇数
                if (ages[j] % 2 != 0) {
                    newAges[A++] = ages[j];

                }
            }
        }
    }
    /*打印输出数组*/
    for (int i = 0; i < newAges.length; i++) {
        System.out.print(newAges[i] + "  ");
    }
}

}
//所有偶数年龄应按照 降序 排序规则依次从0索引在数组中存储,

  • 所有奇数年龄应按照 升序 排序规则依次存储在偶数年龄之后
  • 写回答

1条回答 默认 最新

  • 嘉祐-小萝卜算子 2022-04-09 10:13
    关注
    
    public class test
    {
        public static void main(String[] args) {
            int ages[] = {11, 15, 17, 12, 14, 20, 19, 18, 13, 16};
            int A=0;
            int[] newAges = new int[ages.length];//存储年龄的新数组;
     
            /*首先进行排序,偶数降序,奇数升序*/
            for (int i = 0; i < ages.length; i++) {
                A++;
                //偶数
                if(ages[i]%2==0){
                    //数组第一个没有数的情况
                    if(newAges[0]==0){
                        newAges[0]=ages[i];
                    }else{//偶数降序排列
                        int n=ages[i];
                        for(int j=0;j<newAges.length;j++){
                            A++;
                            if(newAges[j]==0){
                                newAges[j]=n;
                                break;
                            }else    if(n>newAges[j]){
                                int temp=n;
                                n=newAges[j];
                                newAges[j]=temp;
                            }
                        }
                    }
                }else{//奇数
                    //数组最后一个没有数的情况
                    if(newAges[newAges.length-1]==0){
                        newAges[newAges.length-1]=ages[i];
                    }else{//偶数降序排列
                        int n=ages[i];
                        for(int j=ages.length-1;j>=0;j--){
                            A++;
                            if(newAges[j]==0){//遇到0  说明到了交接的地方
                                newAges[j]=n;
                                break;
                            }else    if(n>newAges[j]){
                                int temp=n;
                                n=newAges[j];
                                newAges[j]=temp;
                            }
                        }
                    }
                }
            }
            
            /*打印输出数组*/
            for (int i1 = 0; i1 < newAges.length; i1++) {
               System.out.print(newAges[i1] + "  ");
            }
            System.out.println();
            System.out.println("A="+A);
        }
        
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月19日
  • 已采纳回答 4月11日
  • 创建了问题 4月8日

悬赏问题

  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛