Java語言程序設計(六)對話框應用實例及隨機數的產生

 我們上一篇文章說到輸入對話框,輸入對話框返回的是一個字符串,如果說我們輸入的數字值123,那麼返回的會是'123',我們必須要把字符串轉化爲數字值以得到數字型的輸入,要把一個字符串轉化成爲int型值,使用Interger類中的parseInt方法。

      int intValue = Integer.parseInt(intString);這裏的intstring是一個數值字符串。同樣的,如果要將一個字符串轉換爲一個double型的值,使用Double類中的parseInt方法。

      double doubleValue = Double.parseInt(doubleString);這裏的doubleString是一個數值字符串,例如:123.45.Integer類和Double類都包含在java.lang中,因此他們都是自動導入的。

      我們下面舉個例子,來讀取並使用對話框,我們要從對話框中讀取年利率,年數,貸款總額,然後顯示月支付額和總支付額。

      首先建立數學模型,已知貸款額A,貸款年限B,年利率C,求總貸款額和月供X。由已知條件,可求得B年內總共需要還款Y=A*(1+C)^B,而B年內一共有B*12個月,因此月供X=Y/(B*12),程序清單如下。     

import javax.swing.JOptionPane;

/**
 *
 * @author mjd
 */
public class ComputeLoanUsingInputDialog {



    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        String annualInterestRateString = JOptionPane.showInputDialog("Enter yearly interest rate,\nfor example 8.25:");
        double annualInterestRate = Double.parseDouble(annualInterestRateString);
        double monthlyInterestRate = annualInterestRate/12/100;
        String numberOfYearsString = JOptionPane.showInputDialog("Enter number of years,\nfor example 5:");
        int numberOfYears = Integer.parseInt(numberOfYearsString);
        String loanString = JOptionPane.showInputDialog("Enter loan amount,\nfor example 200014.58");
        double loanAmount = Double.parseDouble(loanString);
        double totalPayment = loanAmount*Math.pow(1+annualInterestRate/100, numberOfYears);
        double monthlyPayment = totalPayment/(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);
    }
    
}



















圖片

      點擊運行後,會顯示由對話框輸入 ,最後由對話框輸出。

圖片

      第一個顯示的對話框爲輸入的年利率,輸入double類型的數據後點擊確定。

圖片

        第二個顯示的對話框爲輸入的年限,輸入int類型的數據後點擊確定。

圖片

      第三個顯示的對話框爲輸入的貸款總額,輸入int類型或者double類型都可以,輸入完成後點擊確定。

圖片

      最後會以對話框的形式輸出月支付額和總支付額,程序完成。

      產生隨機數

      首先我們介紹一下boolean數據類型(布爾類型),我們在編程中該如何比較兩個值呢,例如說一個半徑是大於0,小於0還是等於0呢,Java提供六種比較運算符,用於兩個值的比較,<,<=,>,>=,==,!=,比較的結果是一個布爾值,true或者false,例如:

       double radius = 1;

       System.out.println(radius>0);

       這樣的輸出會顯示true,具有布爾值的變量稱爲布爾變量,boolean型變量只可能是true或者false。

      我們用一個例子來驗證,讓程序隨機產生整數,產生隨機數的方法有很多種,我們現在採用其中的一種,另外幾種我們在下面的文章中介紹,現在我們使用System.currentTimeMillis()%10產生第一個整數,使用System.currentTimeMillis()*7%10產生第二個整數,最後使用布爾表達式來判斷答案是否正確,程序清單如下。

import java.util.Scanner;

public class Random {

    public static void main(String[] args) {
        // TODO code application logic here
        int number1 = (int)(System.currentTimeMillis()%10);
        int number2 = (int)(System.currentTimeMillis()*7%10);
        Scanner input = new Scanner(System.in);
        System.out.print("What is"+number1+"+"+number2+"?");
        int answer = input.nextInt();
        System.out.println(number1+"+"+number2+"="+answer+"is"+(number1+number2==answer));        
     }
}









圖片

   

      在最下方輸入框輸入答案,會有兩種顯示結果。

圖片

圖片

      一種輸出爲true,另一種輸出爲false,這就是使用布爾值進行輸出的案例,希望我們共同學習,一起進步,謝謝。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章