Java 循环到一个变量中
我正在为我的Java类解决一个问题,我希望您能给我指出正确的方向,或者给我一个提示 main程序使用我在main外部编写的方法 程序获取在JOptionPane中输入的变量,并将它们放入方法中 该方法获取这些变量,并通过“while”循环运行它们,然后将结果返回给main 我遇到的问题是,让返回值返回到main中进行输出 我想要Java 循环到一个变量中,java,methods,while-loop,main,Java,Methods,While Loop,Main,我正在为我的Java类解决一个问题,我希望您能给我指出正确的方向,或者给我一个提示 main程序使用我在main外部编写的方法 程序获取在JOptionPane中输入的变量,并将它们放入方法中 该方法获取这些变量,并通过“while”循环运行它们,然后将结果返回给main 我遇到的问题是,让返回值返回到main中进行输出 我想要 return fin; 返回main,这样就可以输出它了 问题的一部分在于,我必须使用不同的数据类型,特别是float和double,我似乎无法正确解析它们 代码如下
return fin;
返回main,这样就可以输出它了
问题的一部分在于,我必须使用不同的数据类型,特别是float和double,我似乎无法正确解析它们
代码如下:
public static double Compound(int time,double rate,float init)
{
double fin,capital;
int counter;
fin=capital;
capital=0;
counter=0;
while (counter<time)
{
capital=init+(rate/100.0)*init;
counter++;
}
return fin;
}
编辑编辑编辑
我把问题解决了,主要是,有点,不是真的
我用一个JOptionPane输出运行程序,得到了gobbeldygook
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class Pr50
{
public static void main(String[] args)
{
JTextField time=new JTextField();
JTextField interest=new JTextField();
JTextField initial=new JTextField();
Object[] fields={
"Time to Maturity", time,
"Interest rate", interest,
"Initial deposit", initial
};
JOptionPane.showInputDialog(null, fields);
JOptionPane.showMessageDialog(null, "The value of the fund is: "+initial);
/*int x;
double fin,rate;
float init;
fin=money.Compound(5,10,5500);*/
}
}
我真的很想知道如何解决这个问题
编辑编辑编辑
我需要从输入窗口获取变量,但我收到一条错误消息,指出“JText无法转换为int。”
这是密码,在所有邪恶的荣耀中:
主要内容:
正在调用的方法:
public class money
{
public static double Compound(int time,double rate,float init)
{
return init*Math.pow(1+(rate/100), time);
}
}
根据您的问题,我猜您是在尝试获取方法
composite
返回的值
在获得变量time
、rate
和init
后,只需使用JOptionPane
在主方法内调用方法复合。例如:
double compound = Compound(time, rate, init);
System.out.println("The answer is " + compound);
代码中有很多奇怪的东西,但在我看来,这就是你试图做的:
public float compound(int time, double rate, float init)
{
return init * Math.pow(1 + (rate / 100), time);
}
我真的不知道你在问什么。。。这是一个编译错误还是运行时错误?你不应该返回大写而不是fin吗?如果我安装程序的另一半会有帮助吗?这正是给我带来问题的部分。你的方法是什么?我的意思是,你只需要将fin和资本相等,并将其返回,所以fin将具有资本在那个时刻的价值(垃圾价值)。你不应该归还资金吗?方法是使用上面的代码来计算利息。我可以编辑帖子,向您展示程序的另一半。讲师说在程序中使用“float”数据类型作为初始值。
init
在上面仍然是float。方法签名决定了它的参数必须是什么类型,因为@BenKnoble说,init
仍然处于“float”状态,除非您的讲师希望您明确指定。可能像fin=money.composite(5105500f)
;注意,“f”init必须是一个浮点数据类型。那么它也应该返回一个浮点。除此之外,除了在某些边缘情况下会损失一些精度外,这并不重要。
double compound = Compound(time, rate, init);
System.out.println("The answer is " + compound);
public float compound(int time, double rate, float init)
{
return init * Math.pow(1 + (rate / 100), time);
}