2015-03-19 154 views
1

我似乎無法得到底部「我」鏈接到變量在for循環下面我出錯了哪裏?我曾試圖對其進行編輯修改變量,把變量上面的for循環我得到的是錯誤無法解析爲循環中的for循環變量

還我使用的Eclipse月神

import java.util.Scanner; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
public class AssignmentProgramming { 

public static void main(String[] args) throws IOException { 
    // TODO Auto-generated method stub 
    Scanner sc = new Scanner(System.in); 

    System.out.println("Please enter a string"); 


    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
    String data = reader.readLine(); 


    char ch =(char) System.in.read(); 

    int letters=0; 

    for(int i=0; i<data.length(); i++); 
    { 
     char c=data.charAt(i);//<-- This i here 
     if (c==ch); 
     {letters++; 
    } 



     } 
    System.out.println(letters); 
    } 

    } 

回答

6

刪除分號;for循環

結束
for(int i=0; i<data.length(); i++); 
           ^

,並在if聲明

if (c==ch); 
     ^
+4

同樣在這裏:'if(c == ch);' – pzaenger 2015-03-19 03:34:18

+0

啊好趕上@pzaenger – Baby 2015-03-19 03:36:03

+0

謝謝非常簡單的解決方案 – 2015-11-11 02:34:00

1

您的問題可以在原始代碼的第22行找到。在多個地方,你不小心在循環體之前加了一個分號,從而錯過了變量的聲明。我已附上一個重構和糾正您的代碼編輯:

import java.util.Scanner; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class AssignmentProgramming { 

    public static void main(String[] args) throws IOException { 
     Scanner sc = new Scanner(System.in); 

     System.out.println("Please enter a string"); 

     BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
     String data = reader.readLine(); 

     char ch =(char) System.in.read(); 

     int letters=0; 

     for(int i=0; i<data.length(); i++) { 
      char c=data.charAt(i);//<-- This i here 
      if (c==ch) 
       letters++; 
     } 
     System.out.println(letters); 
    } 
} 

我希望這對你有所幫助,祝你好運。

+0

非常感謝你apreciated – 2015-03-19 13:05:59