-1

我认为我格式错误或存在逻辑错误,老实说我不知道​​。我在程序底部评论了错误。非常感谢所有帮助。

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.
4

4 回答 4

2
for (count=0; length<count; count++)

除了推荐的其他答案之外int count=0;,我认为您可能遇到了逻辑问题。假设您解决了其他人指出的问题,然后执行以下操作:

for(int count=0; length<count; count++)

您只是在修改count. 你永远不会修改length. 您的支票是length<count,并且您正在使用count进行修改++。这意味着将发生两件事之一。

  1. 当 时length >= 0,你永远不会进入for循环体。
  2. 什么时候length < 0,你会进入一个length<count永远返回的无限循环true

(并且假设您length通过检查 a 的长度进行设置String,您将始终获得此特定示例中的第一个场景。)

于 2013-10-24T14:47:44.183 回答
1

堆栈跟踪告诉您错误存在的位置。变量需要先用类型关键字声明才能使用。添加int关键字,以便变量count可以在循环中使用

for (int count = 0; length < count; count++) {
     ^
于 2013-10-24T14:42:51.813 回答
1

你的 for 循环

for (count = 0; length < count; count++) {

那应该是

for (int count = 0; length < count; count++) {

告诉计数是一种int类型。

附带说明:尽快转移到 IDE。这样您就可以更专注于您的逻辑,而不是最终出现这些类型的编译错误

于 2013-10-24T14:43:13.267 回答
0

缺少 count 作为 int 的声明,下面是正确的代码。

 for (int count=0; length<count; count++)
于 2013-10-24T14:46:23.653 回答