Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对列表中的数字对进行排序_Java_Arrays_Algorithm_Sorting_Math - Fatal编程技术网

Java 对列表中的数字对进行排序

Java 对列表中的数字对进行排序,java,arrays,algorithm,sorting,math,Java,Arrays,Algorithm,Sorting,Math,我想写一个程序,从数字列表中选择成对的数字。 但这对应该是最小数和最大数之和。 在下一步中,我想将它们从最小到最大排序,以显示最小数和最大数之和。 例1 入口:[1,2,4,8,9] 输出:最小的对[1,2=3],最大的对[8,9=17] 如何对成对的数字进行排序 public class Tabli { public static void main(String[] args) { int[] numbers = {12, 36, 2, 5,12,31}; int sum

我想写一个程序,从数字列表中选择成对的数字。 但这对应该是最小数和最大数之和。 在下一步中,我想将它们从最小到最大排序,以显示最小数和最大数之和。 例1 入口:[1,2,4,8,9] 输出:最小的对[1,2=3],最大的对[8,9=17]

如何对成对的数字进行排序

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

    int[] numbers = {12, 36, 2, 5,12,31};

    int sum0 = numbers[0] + numbers[1];
    System.out.println(sum0);

    int sum1 =numbers[1] +numbers[2];
    System.out.println(sum1);

    int sum2 =numbers[2] +numbers[3];
    System.out.println(sum2);

    int sum3 =numbers[3] +numbers[4];
    System.out.println(sum3);

    int sum4 =numbers[4] +numbers[5];
    System.out.println("End:"+sum4);

    int sum = 0;
    for (int i = 0; i< numbers.length; i++) {

            sum += numbers[i];

        }
    for (int j = 0; j < (numbers.length)-8; j++) {
        sum1 += numbers[j];
        System.out.println("Sum: " + sum);

    }
    System.out.println("Sum: " + sum1);
}
}
公共类Tabli{
公共静态void main(字符串[]args){
int[]数={12,36,2,5,12,31};
int sum0=数字[0]+数字[1];
系统输出打印项数(sum0);
int sum1=数字[1]+数字[2];
系统输出打印LN(sum1);
int sum2=数字[2]+数字[3];
系统输出打印LN(sum2);
int sum3=数字[3]+数字[4];
系统输出打印LN(sum3);
int sum4=数字[4]+数字[5];
System.out.println(“结束:+sum4”);
整数和=0;
for(int i=0;i
试试这个:

int[] numbers = {12, 36, 2, 5,12,31};
int min = numbers[0] + numbers[1]; // instantiate randomly
int max = numbers[0] + numbers[1]; // instantiate randomly
for (int i = 0; i < numbers.length - 1; i++) {
    min = Math.min(numbers[i] + numbers[i + 1], min);
    max = Math.max(numbers[i] + numbers[i + 1], max);
}
System.out.println(min + ", " + max);
int[]数字={12,36,2,5,12,31};
int min=数字[0]+数字[1];//随机实例化
int max=数字[0]+数字[1];//随机实例化
对于(int i=0;i
然后输出为:

7,48

此解决方案适用于任意长度的
数字
数组

编辑

数字
需要排序时,只需添加
数组。排序(数字)紧跟在数字定义之后。

首先对数组进行排序

Arrays.sort(numbers);
因此,max对是最后2个数字

int max = numbers[numbers.length-1] + numbers[numbers.length-2];
int min = numbers[0] + numbers[1];
min对是前两个数字

int max = numbers[numbers.length-1] + numbers[numbers.length-2];
int min = numbers[0] + numbers[1];

你的问题有点不清楚。您是否在问如何计算、存储并最终对所有数字对进行排序?最终对所有数字对进行排序这只检查相邻的数字对。问题中的数组已排序,这可能会导致这种混乱,因为这对于已排序的数组来说是一个足够的解决方案。在一般情况下,数组没有排序(如您在提供的代码中所看到的)。好的,我错过了它,我已经更新了答案,谢谢。