我正在为我的班级编写一个程序,我必须使用for循环从键盘中取两个数字。然后程序应该将第一个数字提升到第二个数字的幂。使用for循环进行计算。我收到的错误是inum3没有被初始化(我理解因为循环可能永远不会进入)但我无法弄清楚如何使这个工作。第25和28行是具体的。
import javax.swing.*;
public class Loop2
{
public static void main(String[] args)
{
int inum1, inum2, inum3, count;
String str;
str = JOptionPane.showInputDialog("Please Enter a Numer");
inum1 = Integer.parseInt(str);
str = JOptionPane.showInputDialog("Please Enter a Numer");
inum2 = Integer.parseInt(str);
for (count = 1; count == inum2; count+=1)
{
inum3 = inum3 * inum1;
}
JOptionPane.showMessageDialog(null, String.format ("%s to the power of %s = %s", inum1,inum2, inum3), "The Odd numbers up to" + inum1,JOptionPane.INFORMATION_MESSAGE);
}//main
}// public
答案 0 :(得分:3)
您需要初始化变量inum3
。现在,当你的程序试图执行
inum3 = inum3 * inum1;
inum3
没有值,因此无法进行乘法运算。
我认为你希望在这种情况下它是1。
所以而不是
int inum1, inum2, inum3, count;
你可以做到
int inum1, inum2, inum3 = 1, count;
答案 1 :(得分:2)
将num3初始化为1,因为你可以使用某些东西来定义自己。
num3 = 1;
答案 2 :(得分:1)
import javax.swing.JOptionPane;
public class Loop2 {
public static void main(String[] args) {
int base, exp, result = 1;
String str;
str = JOptionPane.showInputDialog("Please Enter a Number");
base = Integer.parseInt(str);
str = JOptionPane.showInputDialog("Please Enter an Exponent");
exp = Integer.parseInt(str);
for (int count = 0; count < exp; count++) {
result *= base;
}
JOptionPane.showMessageDialog(null, String.format("%s to the power of %s = %s", base, exp, result),
"The Odd numbers up to" + base, JOptionPane.INFORMATION_MESSAGE);
}
}