2016-12-14 60 views
0

我在一個while循環中創建了一個名爲'S'的數組。找不到變量'S'。麻煩使用循環數組。

我已經在輸入文件中逐行寫入我的類;然後我設法得到每一行的第一個數字並將這些數字實現爲一個字符串數組。

去我的while循環之外,我想用數組'S'來比較第一個元素和下兩個元素,看他們是否匹配。

public static void main(String[] args) throws IOException{ 
     int count = 0; 
     FileReader Input = new FileReader("Input File"); 
     BufferedReader br = new BufferedReader(Input); 
     String line; 
     while((line = br.readLine()) !=null) 
     { 
      //System.out.println(line); 
      String[]bits = line.split(" +"); 
      String temp; 
      temp = bits[1].substring(0,1); 
      // System.out.println(temp); 
      String S[] = temp.split(" "); 
      //System.out.println(Arrays.toString(S)); 
     } 
     for(int i = 0; i < S.length; i++){ 
      if(S[i] == S[i + 1] && S[i] == S[i + 2]){ 
       count++; 
     } 
      System.out.println(count); 

我知道我的編碼是可怕的。這是代碼拼圖第3天的問題。

回答

0

因爲您在'while'循環中聲明'S'之內,它只存在於while循環的上下文中。要在該循環外提供'S',請在之前聲明循環:

String[] S = null; // Declare it here and initialize it with a "dummy" value. 
while((line = br.readLine()) !=null) 
{ 
    : 
    S[] = temp.split(" "); // Assign the "real" value. 
    : 
} 
// Now S will still be available for the rest of your method.