Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查输入字符串名称是否在文本文件中,我不知道为什么它不工作_Java - Fatal编程技术网

Java 检查输入字符串名称是否在文本文件中,我不知道为什么它不工作

Java 检查输入字符串名称是否在文本文件中,我不知道为什么它不工作,java,Java,我的文本文件包括: 汤姆,本,凯文,玛丽,洛克,埃里克 public static void main(String[] args) throws IOException { Scanner sc = new Scanner (new FileReader("name.txt")); String Name; Scanner in = new Scanner(System.in); System.ou

我的文本文件包括: 汤姆,本,凯文,玛丽,洛克,埃里克

 public static void main(String[] args) throws IOException 
    {      
       Scanner sc = new Scanner (new FileReader("name.txt"));
       String Name;
       Scanner in = new Scanner(System.in);       

       System.out.println("Enter a name:");
       Name= in.nextLine();

       String name = null;
       while(sc.hasNext())
       {
           name= sc.next();
       }
       if (Name.equals(name))
       {
           System.out.println("Yes");
       }       
       else
       {
           System.out.println("No");
       }

我不知道如何修复它,请帮忙。

这是因为您先浏览了所有文件,然后检查最后一个单词

您需要将其更改为以下代码:

while(sc.hasNext())
{
    name= sc.next();   
    String [] Str=name.split(",");

    for(int i = 0; i < Str.length(); ++i)
    { 
       if (Name.equals(Str[i]))
       {
           System.out.println("Yes");
       }       
       else
       {
           System.out.println("No");
       }       
    }
 }

可能希望将您的标记从“javascript”更改为“java”,以便正确的人看到您的问题当我输入Tom、Ben、Kevin、Mary、Lok、Erick时,它将打印“是”,但当我只输入一个名称时,它将打印“否”。如何只输入一个名称,它将打印“是”hilesc.hasNext{int i=0;name=sc.next;String[]Str=name.split,;if name.equalstr[i]{System.out.printlnYes;}else{System.out.printlnNo;}如果我在问题中写为EDIT@LokChan,只要稍加改进,看看答案部分