我正在用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);
}
Run Code Online (Sandbox Code Playgroud)
关于到底发生了什么,我真的很疯狂.为什么语句"System.out.println(num1 +"到power"+ num2 +"是"+ num1)"没有打印num1的值.
以下是输出:
{
Enter the 1st number
100
Enter the 2nd number
0
100 to the power 0 is 1
}
Run Code Online (Sandbox Code Playgroud)
我使用ECLIPSE LUNA来编写java代码.
好吧,假设您初始化count并且result为1(在编辑之后,我看到的是一个正确的假设),如果num2为0,则根本不输入循环,所有您看到的是最后一行打印的输出(之后)循环).
因此,在这种情况下,循环内部的内容并不重要 - System.out.println(num1+" to the power "+num2+" is "+num1);当num2为0 时永远不会执行.
| 归档时间: |
|
| 查看次数: |
696 次 |
| 最近记录: |