输入一个字母,并在原有字母的基础上进行排序

        //方法一:数组分离
//        String[] zmb=new String[9];            //大数组
//        String[] zmxb=new String[]{"a","c","u","b","e","p","f","z"};//小数组
//        int nindex=0;                        //小数组的坐标
//        for ( int y = 0 ; y < zmxb.length ; y++,nindex++ )
//        {
//            zmb[y]=zmxb[nindex];
//        }

        //方法二:增加空值
        String[] zmb=new String[]{"a","c","u","b","e","p","f","z",null};
        System.out.print("原字符序列:");
        for ( int l = 0 ; l < zmb.length ; l++ )
        {
            System.out.print(zmb[l]+"\t");
        }
        System.out.println(" ");
        int indexty=zmb.length;            //保存新数据插入位置,这个值是个初始值,可以为0或者其他
        System.out.println("待插入的字符是:");
        String numb=input.next();        //输入要插入的字符
        //找到新元素的插入位置
        System.out.println("zmb.length:"+zmb.length);
                for ( int k = 0 ; k < zmb.length ; k++ )
                {
                    System.out.println("hash:"+numb.hashCode()+"\t"+zmb[k].hashCode());    
                    if ( numb.hashCode()<zmb[k].hashCode() )
                    {
                        indexty=k;
                        break;
                    }
                }
                System.out.println("indexty:"+indexty);
                //元素后移
                for ( int j = zmb.length-1 ; j >indexty ; j-- )
                {
                    zmb[j]=zmb[j-1];                    
                }
                zmb[indexty]=numb;
                System.out.println("插入字符的下标是:"+indexty);
                System.out.print("插入后的字符序列是:");
                for ( int t = 0 ; t < zmb.length ; t++ )
                {
                    System.out.print(zmb[t]+"\t");
                }
                //利用Arrays.sort();进行升序排序
                Arrays.sort(zmb);                    //Arrays.sort(zmb);zmb数组中的值不能有空
                System.out.print("\n升序排序后: ");
                for ( int i = 0 ; i < zmb.length ; i++ )
                {
                    System.out.print(zmb[i]+"\t");
                }
                System.out.println(" ");
                System.out.println("\n");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youmengxiu

来来来,绝对没有空的~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值