在前面的章节中,我们学习了从控制台读取输入的内容的有关方法。相对应地,本节我将教大家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对话框 的具体知识,在以后章节中还会讲解。
好了,本节到此结束!