Java Eclipse声称存在未知源,我不知道';我不知道为什么

Java Eclipse声称存在未知源,我不知道';我不知道为什么,java,eclipse,Java,Eclipse,因此,我必须将该文件读入一个链表,但当我运行代码时,它会显示每个扫描器的未知源。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 ar

因此,我必须将该文件读入一个链表,但当我运行代码时,它会显示每个
扫描器的未知源。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();

    }
导入java.io.File;
导入java.io.IOException;
导入java.util.LinkedList;
导入java.util.Scanner;
公共类LinkedMain
{
公共静态void main(字符串args[])引发IOException
{
文件fil1=新文件(“账户列表”);
Scanner Scanner=new Scanner(fil1)。使用分隔符(“[,|\n/\r]+”);
LinkedListlist=新建LinkedList();
字符串名称优先;
字符串nameLast;
int引脚;
双平衡;
while(scanner.hasNext())
{
nameFirst=scanner.next();
nameLast=scanner.next();
pin=scanner.nextInt();
balance=scanner.nextDouble();
BankAcctInfo b1=新的BankAcctInfo(名称首字母、名称末字母、pin、余额);
列表。添加(b1);
}
scanner.close();
}
根据您的堆栈跟踪报告了一个未知源错误,因为您使用的是JRE而不是JDK。您应该确保已从Oracle网站安装了最新版本的JDK,并将Eclipse设置为使用它。这将为您提供更多的堆栈跟踪信息

话虽如此,您的错误可能与将
扫描仪
next()
nextInt()
这样的方法一起使用有关。我过去遇到过这样的问题,因为它处理换行符的方式很奇怪,如中所述。本质上,
nextInt()
不使用换行符

我的建议之一是使用
next()
,然后用
Integer.valueOf(x)
解析应该是整数的行

因此:

导入java.io.File;
导入java.io.IOException;
导入java.util.LinkedList;
导入java.util.Scanner;
公共类LinkedMain
{
公共静态void main(字符串args[])引发IOException
{
文件fil1=新文件(“账户列表”);
Scanner Scanner=new Scanner(fil1)。使用分隔符(“[,|\n/\r]+”);
LinkedListlist=新建LinkedList();
字符串名称优先;
字符串nameLast;
int引脚;
双平衡;
while(scanner.hasNext())
{
nameFirst=scanner.next();
nameLast=scanner.next();
pin=Integer.valueOf(scanner.next());
balance=Double.valueOf(scanner.nextDouble());
BankAcctInfo b1=新的BankAcctInfo(名称首字母、名称末字母、pin、余额);
列表。添加(b1);
}
scanner.close();
}

}

文件帐户列表位于哪里?它是否有扩展名?为什么
main
方法是通用的(声明
bankacctinfo
type参数)?Muli,AcctList是在Eclipse中创建的一个文件,它有一个txt扩展名,但添加它并不能修复它。Jeffery Bosboom,这是一个错误。Eclipse出于某种原因将它放在那里。我只是删除了它,没有做任何更改。
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();

    }