所以我需要做的是让这个程序查看一个数据文件,其位置通过命令行参数提供。该文件每行有一个数字。第一个数字是列表中的项目数,在这种情况下,第一行的数字是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
我不确定我在做什么,我研究过,找不到符号是什么时候没有引用,我是否正确?
答案 0 :(得分:2)
您没有任何称为数据的变量。我想你想使用list
:
for(int i : list)
if(userkey==x)
System.out.println("It is in the list");
}
x
也一样。
答案 1 :(得分:1)
我认为应该是:
for(int i : list)
if(userkey == i)
System.out.println("It is in the list");
}
答案 2 :(得分:1)
正确的循环:
for(int i:list)
if(num==i)
System.out.println("It is in the list");
}