小阿九要再努力一点 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 itest不允许查看成绩怎么办
  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏
  • ¥15 STM32串口接收问题