簡體   English   中英

用Java編寫一個簡單的查找程序

[英]Writing a simple lookup program in Java

因此,我需要做的是讓該程序查看一個數據文件,該文件的位置通過命令行參數提供。 該文件每行有一個數字。 第一個數字是列表中的項目數,在這種情況下,第一行具有數字14,然后是14個值,每行一個。 這是代碼。

import java.util.*;
import java.io.*;

public class hw3 {
   public static void main(String[] args) throws IOException{
   int num;

   if (args.length == 0) {
   System.out.println("File not submitted, quitting.");
   System.exit(0);
   }
   // set up input
   File inputDataFile = new File(args[0]);
   Scanner inputFile = new Scanner(inputDataFile);

   // read data
   int n = inputFile.nextInt();
   int list[] = new int[n];

   for (int i = 0; i < n; i++)
      list[i] = inputFile.nextInt();

   // user search
   System.out.println("Type a number to search");
   Scanner userkey = new Scanner(System.in);
   num = userkey.nextInt();

   for(int i:data)
      if(userkey==x)
         System.out.println("It is in the list");
   }


}

我知道它將正確數量的值導入數組,但是當我嘗試運行它時,我一直收到此錯誤。 這就是我得到的

hw3.java:30: error: cannot find symbol
   for(int i:data)
             ^
  symbol:   variable data
  location: class hw3
hw3.java:31: error: cannot find symbol
      if(userkey==x)
                  ^
  symbol:   variable x
  location: class hw3
2 errors

我不確定自己在做什么,我進行了研究,但找不到符號是在未引用某些內容時,對嗎?

您沒有任何名為data的變量。 我想你想使用list

for(int i : list)
    if(userkey==x)
       System.out.println("It is in the list");
}

x

我認為應該是:

for(int i : list)
    if(userkey == i)
       System.out.println("It is in the list");
}

正確的循環:

   for(int i:list)
      if(num==i)
         System.out.println("It is in the list");
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM