如何在Java中读取3整数数组以查找中间数和最大数?

如何在Java中读取3整数数组以查找中间数和最大数?,java,arrays,Java,Arrays,如果用户输入[3,5,2] 我该如何编写一个代码,使其将3与“a”、5与“b”、2与“c”关联起来 publicstaticvoidmain(字符串[]args){ int a=input.nextInt(); int b=input.nextInt(); int c=input.nextInt(); int x=0; int t=0; { //闵 x=a; 如果((bt))t=c; } int m=a+b+c-x-t; 系统输出打印(m+t); } } 我不希望每个变量都有单独的int输入,

如果用户输入[3,5,2]

我该如何编写一个代码,使其将3与“a”、5与“b”、2与“c”关联起来

publicstaticvoidmain(字符串[]args){
int a=input.nextInt();
int b=input.nextInt();
int c=input.nextInt();
int x=0;
int t=0;
{
//闵
x=a;
如果((bt))t=b;
如果((c>t))t=c;
}
int m=a+b+c-x-t;
系统输出打印(m+t);
}
}

我不希望每个变量都有单独的int输入,而是一个数组。

这应该可以正常工作:

    Scanner scanner = new Scanner(new File("input.txt"));
    List<Integer> list = new ArrayList<Integer>();
    scanner.nextInt(); // this solution omits number of datasets. we don't really need it
    while (scanner.hasNext()) { // do we have one more line?
        list.clear(); // we need empty list
        for (int i=0;i<3;i++) { // read 3 numbers
            list.add(scanner.nextInt());
        }
        Collections.sort(list);
        Integer max = list.get(2);
        Integer middle = list.get(1);
        System.out.println(max+middle);
    }
Scanner Scanner=新的扫描仪(新文件(“input.txt”);
列表=新的ArrayList();
scanner.nextInt();//此解决方案省略了数据集的数量。我们真的不需要它
(scanner.hasNext()){//我们还有一行吗?
list.clear();//我们需要空列表

对于(int i=0;我可以说得更具体一点。您到底想要什么?在数组中查找最大值或为字符串赋值(3到“a”…)?赋值。我对JAVA非常陌生,请原谅我没有更好的术语和措辞。你能发布整个任务吗?我的意思不仅是问题部分,而且是老师希望你做的每件事。这将有助于找到最佳答案。我问的问题不是我必须做的作业,它只是一个间接部分。我不想问很明显,因为我想试着弄清楚。我想我接下来只发布实际问题。输入的第一行包含一个整数,指定后面的数据集的数量。每个数据集由三个整数组成,都在同一行上,用空格分隔。一个数据集可能有重复的数据(例如,三个整数可能是2 7 2,在这种情况下,最小的是2,中间的是2,最大的是7)。应该没有提示或图例。计算每个数据集的最大值和中间值之和,并将其打印在单独的一行上。我认为在这里使用
列表
实际上可能有些过分,因为我们知道总是正好有三个整数。只需使用
int[]
。可能是在这种特殊情况下。但一般来说,使用泛型集合更容易、更安全。生成的代码更易于阅读。我正在尽可能地使用它。泛型集合几乎总是最适合对象集合——但对于固定大小的基元列表,老实说,集合仍然是多余的。它们是ally不再增加任何安全性,但它们确实会降低速度,如果您想与通用收集工具交互,可以使用类似Guava的工具。
    Scanner scanner = new Scanner(new File("input.txt"));
    List<Integer> list = new ArrayList<Integer>();
    scanner.nextInt(); // this solution omits number of datasets. we don't really need it
    while (scanner.hasNext()) { // do we have one more line?
        list.clear(); // we need empty list
        for (int i=0;i<3;i++) { // read 3 numbers
            list.add(scanner.nextInt());
        }
        Collections.sort(list);
        Integer max = list.get(2);
        Integer middle = list.get(1);
        System.out.println(max+middle);
    }