Java 如何将数据类型字符串的控制台输入写入数组?

Java 如何将数据类型字符串的控制台输入写入数组?,java,Java,1.在此代码之前声明了数组,但这不起作用 /* * ------------------------Sorting students------------------------- */ import java.util.*; public class Exercise6_19 { public static void main(String[] args) { Scanner input = new Scanner(System.in); Syste

1.在此代码之前声明了数组,但这不起作用

    /*
 * ------------------------Sorting students-------------------------
 */

import java.util.*;

public class Exercise6_19 {

    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.print("Enter the number of students: ");
    int students = input.nextInt();
    String[] names = new String[students];
    int[] scores = new int[students];

    for(int i = 0; i < names.length; i++){
        System.out.print("Enter student's name: ");
        names[i] = input.nextLine();
        System.out.print("Enter student's score: ");
        scores[i] = input.nextInt();
    }
    Arrays.sort(scores);
    for(int i = 0; i < scores.length; i++){
        System.out.println (names[i]+" has "+scores[i]);
    }

    System.out.println("");
    reverse(scores, names);

    for(int i = 0; i < scores.length; i++){
        System.out.println (names[i]+" has "+scores[i]);
    }


    }

    public static void reverse(int[] numbers, String[] names) {
        for(int i = 0; i < numbers.length; i++){
            numbers[numbers.length  - 1 - i] = numbers[i];
            names[names.length - 1 - i] = names[i];
        }

    }


}
/*
*第三十四条学生分类-------------------------
*/
导入java.util.*;
公开课练习6_19{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.print(“输入学生人数:”);
int students=input.nextInt();
字符串[]名称=新字符串[学生];
int[]分数=新int[学生];
for(int i=0;i
这是固定版本

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);
    System.out.print("Enter the number of students: ");
    int students = scanner.nextInt();
    String[] names = new String[students];
    int[] scores = new int[students];

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

        System.out.print("Enter student's name: ");
        names[i] = scanner.next();
        System.out.print("Enter student's score: ");
        scores[i] = scanner.nextInt();
    }
    Arrays.sort(scores);
    for (int i = 0; i < scores.length; i++) {
        System.out.println(names[i] + " has " + scores[i]);
    }
    scanner.close();
}
UPD


如果你对
分数进行排序,我想你也应该调整
名称

“不起作用”永远都不是一个足够的问题描述。请粘贴所有的类代码并解释你遇到的问题。什么不起作用?你期望发生什么?线程“main”java.util.InputMismatchException在java.util.Scanner.throwFor(未知源)在java.util.Scanner.next(未知源)在java.util.Scanner.nextInt(未知源)在java.util.Scanner.nextInt(未知源)在Exercise6_19.main(Exercise6_19.java:20)好的,抱歉伙计们,我从来没有在这里问过,所以我有点自信,但我会说清楚的,谢谢。很好的回答
Enter the number of students: 2
Enter student's name: a1
Enter student's score: 11
Enter student's name: a2
Enter student's score: 22
a1 has 11
a2 has 22