【问题标题】:entering multiple values in link list in java在java中的链接列表中输入多个值
【发布时间】:2017-09-18 17:08:16
【问题描述】:

使用 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);
        }
    }
}

【问题讨论】:

  • “这段代码没有显示错误,但也没有编译。” -- 这没有任何意义。如果它没有编译,编译器会给你一个错误,说明原因。不然怎么知道不编译?

标签: java arrays linked-list


【解决方案1】:

共享的代码应该可以理想地编译。但可能会有一个例外:

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

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

roll_no = sc.nextInt();

【讨论】:

    【解决方案2】:

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

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

    应该是:

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

    不能通过将变量作为参数传递来设置变量,因为 String 是不可变的,而 int 是原始类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-18
      • 2016-01-01
      相关资源
      最近更新 更多