在java中的链接列表中输入多个值

时间:2017-09-18 17:08:17

标签: java arrays linked-list

使用LinkedList我想访问StudData类的数据成员。 StudData应该有一个对象数组。此代码不显示错误,但也不会成功执行。

import java.util.LinkedList;
import java.util.Scanner;

public class StudData {

    public int roll_no;
    public String name;
    private Scanner sc;

    void enter() {
        sc = new Scanner(System.in);
        System.out.println("enter:");
        sc.nextInt(roll_no);
        sc.next(name);
    }

    public static void main(String[] args) {
        StudData p= new StudData();
        LinkedList <StudData> ll=new LinkedList<StudData>();

        for (int i=0; i<20; i++) {
            p.enter();
            ll.add(p);
        }
    }
}

2 个答案:

答案 0 :(得分:1)

共享的代码应该理想地编译。但在以下情况下可能存在例外:

sc.nextInt(roll_no); // roll_no is 0 by default

因此,这将抛出java.lang.IllegalArgumentException: radix:0。如果您想将roll_no作为用户的输入,您可以将代码更改为:

roll_no = sc.nextInt();

答案 1 :(得分:0)

在我看来你犯了一个错误(虽然我在火车上使用我的手机)

    sc.nextInt(roll_no);
    sc.next(name);

应该是:

    roll_no = sc.nextInt();
    name = sc.next();

变量不能通过将它们作为参数传递来设置,因为String是不可变的,而int是基元。