我认为我格式化了错误或存在逻辑错误,说实话我不知道。我在程序的底部评论了错误。非常感谢所有帮助。
public static void main (String args[]) {
String userInput;
Scanner kb = new Scanner (System.in);
System.out.print("Enter a string of characters: ");
userInput = kb.nextLine();
int length = userInput.length();
for (count=0; length<count; count++) {
char letter=userInput.charAt(count);
System.out.print(letter + " ");
}
}
错误:
javac "StringDown.java" (in directory: /home/user/Downloads)
StringDown.java:16: cannot find symbol
symbol : variable count
location: class StringDown
for (count=0; length<count; count++)
^
StringDown.java:16: cannot find symbol
symbol : variable count
location: class StringDown
for (count=0; length<count; count++)
^
StringDown.java:16: cannot find symbol
symbol : variable count
location: class StringDown
for (count=0; length<count; count++)
^
StringDown.java:18: cannot find symbol
symbol : variable count
location: class StringDown
System.out.print(userInput.charAt(count));
^
4 errors
Compilation failed.
答案 0 :(得分:2)
for (count=0; length<count; count++)
除了推荐int count=0;
的其他答案之外,我认为你可能遇到了逻辑问题。假设您修复了其他人指出的内容,并执行此操作:
for(int count=0; length<count; count++)
您只需修改count
的大小。你永远不会修改length
的大小。您的支票为length<count
,您正在使用count
修改++
。这意味着将会发生以下两件事之一。
length >= 0
时,您永远不会输入for
循环的正文。length < 0
时,您将进入一个无限循环,其中length<count
将始终返回true
。(鉴于您通过检查length
的长度来设置String
,您将始终获得此特定示例中的第一个场景。)
答案 1 :(得分:1)
stacktrace告诉你错误存在的位置。在使用变量之前,需要使用类型关键字声明变量。添加int
关键字,以便可以在循环中使用变量count
for (int count = 0; length < count; count++) {
^
答案 2 :(得分:1)
你的for循环
for (count = 0; length < count; count++) {
那应该是
for (int count = 0; length < count; count++) {
告知该计数属于int
类型。
作为旁注:尽快转移到IDE。这样你就可以更专注于你的逻辑,而不是最终得到这些类型的编译错误
答案 3 :(得分:0)
缺少计数声明为int,下面是正确的代码。
for (int count=0; length<count; count++)