我试图将我的数组移到while循环之外,请参见下面的代码:
String csvFile = "my.csv";
BufferedReader br = null;
String ligne = "";
String cvsSplitBy = ";";
try {
br = new BufferedReader(new FileReader(csvFile));
while ((ligne = br.readLine()) != null) {
String [] conseillers = ligne.split(cvsSplitBy);
System.out.println("Conseiller [prenom= " + conseillers[0] + " , nom=" + conseillers[1] + ", fonction = "+ conseillers[2] +"]");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// System.out.println(conseillers.toString());
for(String conseiller : conseillers){
System.out.println(conseiller.toString());
}
但是我有一条错误消息,说:
错误:找不到符号
符号:可变conseillers
答案 0 :(得分:1)
在循环外声明数组,因为如果在循环内声明变量,则该变量仅存在于循环中,并且在循环结束后立即删除该变量。
代码应为:
String csvFile = "my.csv";
BufferedReader br = null;
String ligne = "";
String cvsSplitBy = ";";
String[] conseillers;
try {
br = new BufferedReader(new FileReader(csvFile));
while ((ligne = br.readLine()) != null) {
conseillers = ligne.split(cvsSplitBy);
System.out.println("Conseiller [prenom= " + conseillers[0] + " , nom=" + conseillers[1] + ", fonction = "+ conseillers[2] +"]");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// System.out.println(conseillers.toString());
for(String conseiller : conseillers){
System.out.println(conseiller.toString());
}