无法解析为循环中for循环中的变量

时间:2015-03-19 03:29:38

标签: java variables bufferedreader inputstreamreader

我似乎无法得到底部“我”链接到下面的for循环中的变量我哪里出错?我试图编辑它更改变量并将变量放在for循环上面所有我得到的是错误

我也在使用eclipse luna

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);
    }

    }

2 个答案:

答案 0 :(得分:6)

;循环结束时删除分号for

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

if声明

if (c==ch);
          ^

答案 1 :(得分: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);
    }
}

我希望这对你有所帮助,祝你好运。