【问题标题】:power function exponent JOptionPane java [closed]幂函数指数JOptionPane java [关闭]
【发布时间】:2015-11-14 17:52:23
【问题描述】:

我被困在一个作业上,我刚开始使用 java,这个作业必须使用 JOptionPane 来计算指数。我完全迷失了,甚至不知道从哪里开始。以下是部分作业说明

*****Power 函数计算以“a”为底的幂到指数“n”的幂。编写一个类,您将调用 Power 类,并使用方法 power() 打印相应的功率值。请记住对 a 使用“float”,对 n 使用“long”,并且返回值是“float”,因为该数字是实数。**

简化,给定两个数字na,其中a 可以有小数,n 可以是负数。创建一个函数来计算功率。

为输入/输出设计和编写一个对话框,允许用户输入一个底数“a”和一个指数“n”,并输出a的幂到n的指数的结果。

例子:

幂(5.0,2)=(5.0)2= 25.0

幂(5.0,-2)=(5.0)-2 = (1/25)=0.04。

记住 n 的值可以是正数或负数。您的代码应该能够处理这两种情况。请记住将 n 的值限制为最大值 40。 分配将要求您创建 2 个文件:

1- Power.java,其中包含创建 Power 类和方法 power 的详细信息,该方法应该计算任何数字 a 的幂次幂 n。 (使用讨论中的“Assign6 提示”来帮助编写 Power.java 的代码作为示例)。请记住:

a- 我们需要两个实例变量:float a 和 int n。

b- 我们需要一个按顺序有两个参数的构造函数:一个是浮点数,一个是整数。

c- 您需要编写的“power()”方法:一个循环用于 n>0,另一个循环用于 n

浮点幂(){ }***

2- PowerJDialog.java 仿照本书第 2 章第 99-100 页中代码列表 2-32 (NamesDialog.java) 中开发的对话框进行输入和输出。

记住你会提示用户输入:

一个基础“a” 一个指数“n. 在这两个值中,您将能够使用构造函数创建“Power”类的对象“pow”。然后,您将使用对话框向用户打印 a 的幂到 n 的指数的结果。

记住 n 的值可以是正数或负数。您的 Power.java 代码应该能够处理这两种情况。请记住将 n 的值限制为最大值 40。

你必须有2个文件,第一个设置规则并且教授给出了提示:

下面的例子涵盖了 n>0 的情况。您需要同时涵盖 >0 和

class Power{

float power (){

float pow=1;
for(int i=0;i<n;++i)
pow=pow*x;

return pow;
}

}

【问题讨论】:

  • 那么你的问题到底是什么?
  • 我不知道如何编写代码来计算指数,我见过一些编写计算的代码,但因为它使用对话框并且需要 2 个文件,所以我迷路了。这应该是针对初学者的 java I 类,如果按照书的章节作业进行就好了,但是老师会给我们高级作业,除非您已经了解 java,否则您无法弄清楚。
  • 您是从文件中读取数字吗?你也不允许使用 Math.pow(x,y);功能?
  • 这本书确实显示了指数是如何计算的,但我实际上是在复制和粘贴他说要做的所有事情,这就是他给我们的所有信息,他没有说不,他没有说其他任何话所以我只能假设它可以使用。你的信息和我一模一样
  • 我在下面发布的解决方案有效吗?

标签: java joptionpane dialog exponent


【解决方案1】:

假设你教授的意思是有可能给它一个负指数,你应该做一个 If 语句然后两个不同的情况。否定的情况二会做同样的事情,除了最后它会除以结果,因为 x^-1 = 1/x。此外,您需要从您的方法中获取输入,其中a 是浮点数,n 是长整数

public float power(float a, long n) {
        if (n > 0) {
            for (int i = 0; i < n; ++i) {
                a = a * n;
            }

            return a;
        } else if (n < 0) {
            for (int i = 0; i < n; ++i) {
                a = a * n;
            }
            a = 1 / a;
            return a;
        }else{
            return 0f;
        }
    }

【讨论】:

  • 令人惊讶的是我确实理解你的代码,我们只是在第六章,上一章才学习 else-if 语句,唯一做得好的人之前已经做过 java 或某种类型的代码,谢谢这让我至少有一些地方可以开始我只需要将对话框添加到某个地方