我似乎无法得到底部“我”链接到下面的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);
}
}
答案 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);
}
}
我希望这对你有所帮助,祝你好运。