在for循环中"无法解析为变量"

ais*_*yat 0 java

我是Java新手.我试图找到一个数字的阶乘使用Scanner.我收到一个错误,p因为p无法解析为变量.这是什么意思?

import java.util.Scanner;

public class fact {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner object = new Scanner(System.in);
        System.out.println("enter a number:\n");
        int i = object.nextInt();

        int result = 1;

        for (p = 1; p <= i; p++) {
            result = result * 1;
            System.out.println("factorial of a number is:result");
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

Ell*_*sch 5

这意味着你还没有定义的变量p(但你尝试将其初始化为1你的for循环).更改

for(p=1;p<=i;p++)
Run Code Online (Sandbox Code Playgroud)

for(int p=1;p<=i;p++)
Run Code Online (Sandbox Code Playgroud)