java算数实例:java如何从对话框中读取输入
java算数实例:java如何从对话框中读取输入String numberOfYearsString= JOptionPane.showInputDialog(“Enter number of years as an integer \nfor example 5:”);double monthlyInterestRate= annualInterestRate/1200;public static void main(String[] args) {String annualInterestRateString= JOptionPane.showInputDialog(“Enter yearly interest rate for example 8.25:”);Double annualInterestRate= Double.parseDouble(annualInterestRateString);
在前面的章节中,我们学习了从控制台读取输入的内容的有关方法。相对应地,本节我将教大家java中从对话框读取输入的有关方法。我们从一个具体实例开始学起。
范例:
import javax.swing.JOptionPane;
public class ComputeLoanUsingInputDialog {
public static void main(String[] args) {
String annualInterestRateString= JOptionPane.showInputDialog(“Enter yearly interest rate for example 8.25:”);
Double annualInterestRate= Double.parseDouble(annualInterestRateString);
double monthlyInterestRate= annualInterestRate/1200;
String numberOfYearsString= JOptionPane.showInputDialog(“Enter number of years as an integer \nfor example 5:”);
int numberOfYears= Integer.parseInt(numberOfYearsString);
String loanString= JOptionPane.showInputDialog(“Enter loan amount for example 120000.95:”);
double loanAmount= double.parseDouble(loanString);
double monthlyPayment= loanAmount*monthlyInterestRate/(1-1/Math.pow(1 monthlyInterestRate numberOfYears*12));
double totalPayment= monthlyPayment*numberOfYears*12;
monthlyPayment= (int)(monthlyPayment*100)/100.0;
totalPayment= (int)(totalPayment*100)/100.0;
String output= “The monthly payment is ” monthlyPayment “\nThe total payment is ” totalPayment;
JOptionPane.showMessageDialog(null output);
}
}
对话框中输入年利率
对话框中输入年份数
对话框中输入贷款总额
显示月支付额和总支付额的计算结果
范例讲解:这是一个根据输入的年利率、年份数以及贷款总额,来求月支付额和总支付额的java程序。
该程序涉及到的年利率输入、年份数输入以及贷款总额值输入,都是使用对话框读取输入的方法的。
对话框读取输入,需要用到java中的JOptionPane这个类包,然后调用showInputDialog()这个方法,默认读取的是String类型的数据,也就是字符串。
所以,该程序里面,通过方法Double.parseDouble()和Integer.parseInt()分别将读取的字符串转换成double浮点类型和int整数类型的数据。
程序中,double monthlyInterestRate= annualInterestRate/1200;这条语句是将读取的年利率转换成月利率,公式是:月利率=年利率/12,再除以100得到的是百分比格式的月利率。
程序中,double monthlyPayment= loanAmount*monthlyInterestRate/(1-1/Math.pow(1 monthlyInterestRate numberOfYears*12));这条语句用来计算贷款数对应的月支付额(等额本息)。公式是:月支付额=月利率/(1-1/(1 月利率)^总月份数)。
这里有个知识点是,Math.pow(x y)这个方法,它得到的值是x的y次方。Math是个数学类,位于java.lang这个类包里面,它的常用方法以及静态常量如下图所示:
程序中,double totalPayment= monthlyPayment*numberOfYears*12;这条语句则用来计算贷款数、贷款总年份数对应的总支付额。
最后,通过JOptionPane类包里面的showMessageDialog()方法将计算出的月支付额和总支付额的结果显示出来。这是一个消息对话框!关于JOptionPane对话框的具体知识,在以后章节中还会讲解。
好了,本节到此结束!