显示权力计划列表

时间:2014-03-15 19:42:32

标签: java math

我真的需要帮助创建一个显示权力列表的程序

这里是输入和输出:

应用程序的输入是包含代表以下内容的数字:

基 指数(1到10之间)

输出是列出您作为基数输入的数字,并查找该基数的功效,从1到输入的结束指数。

我差不多完成了这个程序,但问题是该程序只计算了权力的基础而没有列出权力列表。

我知道我在循环中遗漏了一些东西 这是我的代码

double baseIn, exponentIn;

baseIn = Integer.parseInt(txtBase.getText());
exponentIn = Integer.parseInt(txtExponent.getText());
 //  power = (int) Math.pow(baseIn, exponentIn);

for (int i = 1; i <= exponentIn; i++) {
    txtArea.setText(Integer.toString((int) baseIn)+ "to the power of " + i + "=" + Math.pow(baseIn, i) );

}

2 个答案:

答案 0 :(得分:1)

以下是递归解决方案。按步骤解释。假设你想要2 ^ 4

1)我们称之为权力(2,4)

2)电力(2,4)呼叫电力(2,3)

3)电力(2,3)呼叫电力(2,2)

4)电力(2,2)呼叫电力(2,1)

5)电力(2,1)呼叫电力(2,0)

6)power(2,0)返回1

7)power(2,1)返回(2 * 1)或2

8)power(2,2)返回(2 * 2)或4

9)power(2,3)返回(2 * 4)或8

10)电力(2,4)返回(2 * 8)或16

public static int power(int base, int power){

     if (power == 0)

          return 1;

     else

          return base * power(base, power-1);

}

答案 1 :(得分:0)

一个问题可能是你在循环的每次迭代中覆盖输出文本区域的测试字符串,以便最后 - 可能没有看到任何其他东西,因为你的代码发生得如此之快以至于没有重新发生 - 你,只能看到最后的输出。

使用stringbuilder,追加每次迭代的字符串,并仅显示循环后的合并结果。

或使用现有功能

textArea.append(text + newline);

参见例如Java Swing: Approach for dynamically appending text in text area, have scrollbar update