使用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);
}
}
}
答案 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是基元。