简单字符串比较不起作用

时间:2012-12-10 03:43:34

标签: java string linked-list equals

我需要创建一个循环链接列表,其节点包含Rider类对象,每个Rider都有一个名称和一个布尔值。给定文本输入,程序扫描输入并将骑手添加到“线”

public static void main(String[] args) throws FileNotFoundException{

    Scanner read = new Scanner(System.in);
    CLLOfRiders line= new CLLOfRiders();
    System.out.print("Welcome to Project 1." +
            "\nWhat is the name of the data file?\n>");
    String input=read.nextLine();
    File f= new File(input);
    Scanner fileread = new Scanner(f).useDelimiter(" - |\n");
    while(fileread.hasNext())
    {
        Rider r=new Rider();
        r.name=fileread.next();
        System.out.println(r.name);
>>>>>       if(fileread.next().equals("Y")) <<<<<   
        r.changePass(true);
        line.addRider(r);
        System.out.println(r.speedPassStatus);
    }
    System.out.println("Finished reading the file.");
    line.showWait();

我的问题是箭头突出显示的if语句没有运行,因此我无法将Riders布尔值设置为正确的值。通过我的帐户,似乎这是一个应该顺利运行的简单代码?请帮忙。对不起任何奇怪的事这是我的第一篇文章。

1 个答案:

答案 0 :(得分:1)

...   
r.name=fileread.next();
System.out.println(r.name);
if(fileread.next().equals("Y"))
...

你在循环中使用fileread.next()两次。

将第二个更改为

if(r.name.equals("Y"))