public void ReadCVS() {
BufferedReader br = null;
String line = "";
String cvsSplitBy = ",";
int nbA,nbB,nbC;
nbA=nbB=nbC=0;
String lval="";
String test;
double x = 25;
double y = 100;
double z = 200;
double lp1 = 0;
try {
ArrayList<String> l1 = new ArrayList<String>();
br = new BufferedReader(new FileReader(this.filePath));
while ((line = br.readLine()) != null) {
//System.out.println(line);
// use comma as separator
String[] tempData = line.split(cvsSplitBy);
allDatakey.add(tempData[0]);
allDataValue.add(tempData[1]);
double j = parseDouble(tempData[1]);
}
//我想在这里使用j
if((j>x)&&(j<y)){
test ="A";
if(!lval.equals("A")){
l1.add(test+String.valueOf(nbA));
nbA++;
}
lval="A";
在这段代码中,双j在while循环中,我的问题是:如何声明它在whillloop缓冲区之外使用它....
答案 0 :(得分:1)
试试这个:
try {
ArrayList<String> l1 = new ArrayList<String>();
br = new BufferedReader(new FileReader(this.filePath));
double j = 0.0; //shift your J to Outside of the Loop.
while ((line = br.readLine()) != null) {
//System.out.println(line);
// use comma as separator
String[] tempData = line.split(cvsSplitBy);
allDatakey.add(tempData[0]);
allDataValue.add(tempData[1]);
//change your parseDouble to Double.parseDouble as I Do Here.
j = Double.parseDouble(tempData[1]); //Initialize Your J here
// .......
}
注意:j
在while
循环之外声明并在循环内初始化,并且您可以再次使用while
之外的任何内容。
答案 1 :(得分:1)
可以在此处看到声明数组:How do I declare and initialize an array in Java?
如果你想在while循环之外使用tempData
变量,你也可以将数组复制到一个新变量。
如果您只想将变量J置于外部,请执行以下操作:
double j = 0.0;
while (....) {
j = parseDouble(tempData[1]
}