达到头两张图的效果

解决方案 »

  1.   

    跟数组没有关系,你第二次循环的时候scanner获取的是分数,而你输入的是string,所以类型转换出错。把scanner输入合并成一条吧,中间用-分隔;
    public static void main(String[] args) {
            A [] a= new A[2];
            Scanner scanner = new Scanner(System.in);
            for (int i =0;i<a.length;i++){
                System.out.println("请输入第"+(i+1)+"个学生的姓名和年龄,中间用-分隔");
                String str = scanner.next();
                String[] split = str.split("-");
                a[i] = new A(split[0],Integer.parseInt(split[1]));
            }
            System.out.println("学生的信息是"+a[0]+a[1]);
        }
      

  2.   

    已经调式,把原代码中nextLine改next就行了,但是为啥用nextLine输入,已经换行了,不能达到效果呢?
      

  3.   

    scanner输入的BUG好像,第一次其实没有问题的,但是循环的第二次添加的时候 它只出现了一次输入,就是double,但是你输入的字符串name所以它格式错误。
      

  4.   

    这个跟换行没啥关系,你是获取了两次的参数,只是第二次循环 它只是获取的一个。具体问题我也不知道 只能说应该是scanner输入的BUG