繁体   English   中英

简单的字符串比较不起作用

[英]Simple String comparison is not working

我需要创建一个循环链表,其节点具有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布尔值设置为其正确值。 以我的说法,这似乎是应该可以平稳运行的简单代码? 请帮助。 抱歉,这是我的第一篇文章。

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

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

将第二个更改为

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM