java - Eclipse 声称来源不明,我不知道为什么

标签 java eclipse

所以我必须将此文件读入链接列表,但是当我运行代码时,它显示每个 scanner.next(); 的来源未知,关于如何修复它有任何想法吗?

import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import java.util.Scanner;

public class LinkedMain 
{
    public static <bankacctinfo> void main(String args[]) throws IOException
    {
        File fil1 = new File("AcctList");
        Scanner scanner = new Scanner(fil1).useDelimiter("[,|\n/\r]+");

        LinkedList<BankAcctInfo>list=new LinkedList<BankAcctInfo>();

        String nameFirst;
        String nameLast;
        int pin;
        double balance;

        while(scanner.hasNext())
        {
            nameFirst = scanner.next();
            nameLast = scanner.next();
            pin = scanner.nextInt();
            balance = scanner.nextDouble();
            BankAcctInfo b1 = new BankAcctInfo(nameFirst, nameLast, pin, balance);
            list.add(b1);

        }
        scanner.close();

    }

最佳答案

根据this thread您的堆栈跟踪报告未知源错误,因为您使用的是 JRE 而不是 JDK。您应该确保已从 Oracle 网站安装了最新版本的 JDK 并设置 Eclipse 来使用它。这将为您提供更多信息丰富的堆栈跟踪。

话虽这么说,您的错误可能与使用 Scanner 以及 next()nextInt() 方法有关。我过去在这方面遇到了麻烦,因为它奇怪地处理换行符,如 this thread 中详述。 。本质上,nextInt() 不消耗换行符。

其中的建议之一就是我所做的,即仅使用 next() ,然后使用 Integer.valueOf(x) 解析应该是整数的行。

所以:

import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import java.util.Scanner;

public class LinkedMain 
{
    public static <bankacctinfo> void main(String args[]) throws IOException
    {
        File fil1 = new File("AcctList");
        Scanner scanner = new Scanner(fil1).useDelimiter("[,|\n/\r]+");

        LinkedList<BankAcctInfo>list=new LinkedList<BankAcctInfo>();

        String nameFirst;
        String nameLast;
        int pin;
        double balance;

        while(scanner.hasNext())
        {
            nameFirst = scanner.next();
            nameLast = scanner.next();
            pin = Integer.valueOf(scanner.next());
            balance = Double.valueOf(scanner.nextDouble());
            BankAcctInfo b1 = new BankAcctInfo(nameFirst, nameLast, pin, balance);
            list.add(b1);

        }
        scanner.close();

    }

}

关于java - Eclipse 声称来源不明,我不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28468173/

相关文章:

java - 将 XML 响应拆分为页面

java - Nuxeo 使用 REST 使用新版本创建和更新文件

java - Java 6,7 或 8 的 Oracle 10g 数据库的驱动程序是什么

java - eclipse 方法参数中的 Final

eclipse - Ubuntu Eclipse 编译器 1.8 不出现

java - Eclipse M2E 更改 org.eclipse.wst.common.component

arrays - <STDIN> 仅在第一次使用 Ctrl-Z 时在 Perl 脚本中工作

java - 为什么我必须添加Lombok插件,为什么添加依赖还不够

java - Maven - java.lang.ClassNotFoundException : com. mysql.jdbc.Driver

java - 两次检查列表中的字符串是否包含来自不同列表的字符串的一部分,并在处理列表后返回唯一列表