加拿大华人论坛 德国留学移民签证请教一个Java程序问题(悬赏500聚元)



在加拿大


RT。问题对于高手来说小菜一碟,可是对菜鸟来说就是一筹莫展。
就是把两个if条件句下的两个数组分别排序,再输出排好后的序号。
求高手帮忙,不胜感激,程序可行的话马上转500聚元,略表心意吧

评论
没理解你要做什么 稍微举个例子  

评论
import java.util.Arrays;

public class ArraySortierenClass {

    public static void main(String[] args) {
        String[] s = new String[7];
        s[0] = "Paul";
        s[1] = "Willi";
        s[2] = "Anton";
        s[3] = "Karl";
        s[4] = "Sepp";
        s[5] = "Petra";
        s[6] = "Peter";
         
        Arrays.sort(s);
        for (int n = 0; n < s.length; n++) {
            System.out.println(s[n]);
        }
    }
} 复制代码

评论
比如 a[]={2,9,8,6};b[]={3,7,8}
对a升序排列,然后输出相应的序号:1,4,3,2
对b降序排列,然后输出相应的序号:3,2,1

多谢!

评论


public class ArrayIndexComparator implements Comparator<Integer>
{
    private final int[] array;

    public ArrayIndexComparator(int[] array)
    {
        this.array = array;
    }

    public Integer[] createIndexArray()
    {
        Integer[] indexes = new Integer[array.length];
        for (int i = 0; i < array.length; i++)
        {
            indexes[i] = i;
        }
        return indexes;
    }

    @Override
    public int compare(Integer index1, Integer index2)
    {
        return array[index1]>array[index2];
    }
}

public class ArrayIndexComparatorDesc implements Comparator<Integer>
{
    private final int[] array;

    public ArrayIndexComparator(int[] array)
    {
        this.array = array;
    }

    public Integer[] createIndexArray()
    {
        Integer[] indexes = new Integer[array.length];
        for (int i = 0; i < array.length; i++)
        {
            indexes[i] = i; // Autoboxing
        }
        return indexes;
    }

    @Override
    public int compare(Integer index1, Integer index2)
    {
        return array[index2]>array[index1];
    }
}

复制代码升序:

int[] countries = { 5, 2,  3, 8, 19};
ArrayIndexComparator comparator = new ArrayIndexComparator(countries);
Integer[] indexes = comparator.createIndexArray();
Arrays.sort(indexes, comparator);

for (int n = 0; n < indexes.length; n++) {
            System.out.println(indexes[n]);
        }
复制代码降序:

int[] countries = { 5, 2,  3, 8, 19};
ArrayIndexComparator comparator = new ArrayIndexComparatorDesc(countries);
Integer[] indexes = comparator.createIndexArray();
Arrays.sort(indexes, comparator);

for (int n = 0; n < indexes.length; n++) {
            System.out.println(indexes[n]);
        }
复制代码未经实际运行测试,不承担任何可能导致的不良后果

评论

哇塞,您这一看就是专业级别的,偶先花时间研究研究,非常非常感谢

评论

lz亏欠IT民工血汗500聚元,带着小姨子跑了...........

评论

唉呀,不好意思不好意思,我这程序还没研究明白呢。马上转

  ·中文新闻 悉尼学生因佩戴巴勒斯坦围巾被禁止参加12年级正式课程
·中文新闻 二十年来,联邦政府一直向澳大利亚非法商人收取费用

德国留学移民签证-加拿大

居留中断问题

华人网本人在德国读了两年半硕士,已经拿到毕业证,之后换了8个月的找工作签证,后因疫情回国时间比较久,居留也到期没有续。 现在有导师有意向招我做博士生,请问在这个情况下,我还 ...

德国留学移民签证-加拿大

急找离婚方面的律师

华人网急找一位离婚律师,需要草拟一份离婚后关于孩子抚养费和继承权的合同,谢谢! 请短消息 谢谢 评论 可以联系我们律所。专业家庭法律师,15年以上中中、中德、德德家庭纠纷受理经 ...