如何初始化变量?

时间:2011-10-28 17:56:06

标签: java variables

我正在为我的班级编写一个程序,我必须使用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

3 个答案:

答案 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);
    }
}