我的作业遇到了一些问题。从input.txt文件中读取后,我创建了一个数组,其中存储了所有信息,但由于某种原因,我似乎无法单独比较它们。我已经尝试了equals()并且包含()我无法想到任何可行的东西。我想要实现的目标。
public static void readFromFile(String filePath) throws IOException{
BufferedReader inputFile = new BufferedReader(new FileReader(filePath));
String inputText = null;
List<String> list = new ArrayList<String>();
String[] splited = null;
//splitting the text file
while((inputText = inputFile.readLine())!= null) {
splited = inputText.split("[;^:]");
for (String part : splited) {
list.add(part);
}
}
String [] stockArr = list.toArray(new String[list.size()]);
// verify contents of array
for(int index = 0; index < stockArr.length;index++) {
System.out.println(stockArr[i]);
}
for (int i = 0; i > stockArr.length; i++) {
if(stockArr[i].equals("BusinessContact")) {
System.out.println("test");
}
}
}
现在,如果我要打印它,它不打印&#34;测试&#34;而是只有
BusinessContact
firstName=Victor
middleName=Garces
lastName=Guana
Address
addressType=WORK
streetName=Athabasca Hall
streetNumber=2-32
apartmentNumber=4-52
city=Edmonton
postalCode=T6G 2E8
country=Canada
答案 0 :(得分:5)
检查第二个for循环的运行条件:
for (int i = 0; i > stockArr.length; i++){
if(stockArr[i].equals("BusinessContact")){
System.out.println("test");
}
}
我认为你的意思是
for (int i = 0; i < stockArr.length; i++){
if(stockArr[i].equals("BusinessContact")){
System.out.println("test");
}
}
答案 1 :(得分:4)
最后一个for
循环的条件应为<
:
for (int i = 0; i < stockArr.length; i++){