找不到符号变量

时间:2013-04-15 18:11:35

标签: java do-while

错误是“找不到符号变量 b ” 我还想了解如何正确编写 do while loop 的语法 感谢。

import java.util.*;

public class pract3ex10 {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        do {
            System.out.println("Enter a positive");
            int n = s.nextInt();
            int x = n;
            int m = 0;
            if (x < 0) {
                System.out.println("Thank You!");
            } else {
                while (x > 0) {
                    x = x / 10;
                    m++;
                }
                System.out.println("Number of digits in " + n + "= " + m);
            }
        } while (n > 0);

    }

}

3 个答案:

答案 0 :(得分:2)

n变量的范围目前仅在大括号内的do-while块内。如果你希望它可以在更大的范围内访问,即使这意味着循环的条件,那么在循环之外声明它。

int n;
do
{
    n = s.nextInt();
    ...

答案 1 :(得分:1)

int n;
do {
    ...
    n = s.nextInt();
    ...
} while (n > 0);

答案 2 :(得分:1)

n应该在do..while块之前声明...