计算输入中数字的幂

时间:2015-04-02 18:14:42

标签: java

我正在用Java编写练习程序,将一个数字提升到另一个。在不知不觉中,我犯了一个特殊的错误。然而,无论我给出的输入,答案仍然是正确的。下面是一段代码。

public static void main(String args[])
{
    int count;
    int num1, num2, result = count =1;
    try(Scanner n1 = new Scanner(System.in))
    {
        System.out.println("Enter the 1st number");
        num1 = n1.nextInt();
        System.out.println("Enter the 2nd number");
        num2 = n1.nextInt();
    }
    while(count<=num2)
    {
        if(num2!=0)
        {
            result = num1*result;
            count++;
        }
        else
        {
            System.out.println(num1+" to the power "+num2+" is "+num1);
        }
    }
    System.out.println(num1+" to the power "+num2+" is "+result);
}

我对于到底发生了什么感到疯狂。怎么来声明&#​​34; System.out.println(num1 +&#34;对电源&#34; + num2 +&#34;是&#34; + num1)&#34;没有打印num1的值。

以下是输出:

 {
 Enter the 1st number
 100
 Enter the 2nd number
 0
 100 to the power 0 is 1
 }

我使用ECLIPSE LUNA来编写java。

1 个答案:

答案 0 :(得分:6)

好吧,假设您将countresult初始化为1(在编辑之后,我看到的是一个正确的假设),如果num2为0,则循环不是完全输入,你看到的是最后一行(循环后)打印的输出。

因此,在这种情况下,循环内部的内容无关紧要 - System.out.println(num1+" to the power "+num2+" is "+num1);为0时永远不会执行num2