1.CAL.jar
2.說明文件
ARea(長,寬)=>矩形面積
CARea(半徑)=>圓面積
FV(本金,利率,年)=>本金*(1+利率)
money(業績)=>獎金比
50萬以上     3%
0~50萬       0
 
本薪=18000
本薪+獎金
*有畫底線所以都是static的
 
●結合昨天的homework.jar和使用者介面
1. 設計版面
2.先匯入昨天完成的jar檔,還要import進來,設定button clicked
3.double要用Double.parseDouble(); 如果要轉字串也可以用String.valueOf()
4.加入程式碼
  private void cal1MouseClicked(java.awt.event.MouseEvent evt) {
  double H=Double.parseDouble(h.getText());
  double W=Double.parseDouble(w.getText());
  area.setText("面積:"+math.ARea(H, W));
  }
 
  private void cal2MouseClicked(java.awt.event.MouseEvent evt) {
  double R1=Double.parseDouble(r1.getText());
  carea.setText("圓面積:"+math.CARea(R1));
  }
 
  private void cal3MouseClicked(java.awt.event.MouseEvent evt) {
  int P=Integer.parseInt(p.getText());
  double R2=Double.parseDouble(r2.getText());
  int Y=Integer.parseInt(y.getText());
  fv.setText("總計:"+company.FV(P, R2, Y));
  }
 
  private void cal4MouseClicked(java.awt.event.MouseEvent evt) {
  int M=Integer.parseInt(m.getText());
  money.setText("實領:"+company.money(M));
  }
 
 
5.完成畫面
 
*小數位數的問題可回到CAL.math去修改,重新轉jar就可以用,不需要再import一次
 
*把text field=>properties=>enable勾取取消,則user不能輸入
 
 
6.轉成可執行檔,先在這個完成的介面專案的properties選run,指定main class的位置,再clean and build 一次就可以直接開啟該.jar檔
 
*如果到別台電腦不能開啟這個執行檔,應該是因為沒有安裝jre
 
●Java常用api
1.java.lang.*
2.exception/error(異常)(bug)
(一)執行上的錯誤
a)error=>程式碼直接重寫
b)exception=>加錯誤訊息,一般api文件都會加上exception
**與if最大差別,exception會強制中斷程式執行
 
(二)異常訊息的捕捉
try{
     有問題的程式碼...
}
catch(異常類型  物件變數)
{
     要顯示的錯誤訊息
}
import java.util.Scanner;
class ex1{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
     for(int i=0;i<=10;i++)
     {
          System.out.println("i="+i+"\thello");
     }
}
}
**說明:
假設輸入的是小數,出現exception如上
1.代表在執行nextInt()時就出現錯誤(ex1.java:5代表錯誤在第5行),此時就中斷程式不會在往下run for...
2.exception in thread "main" java .util.InputMismatchException;=>執行緒 main出現exception,是被 java .util.InputMismatchException發現的
3.at...,代表這四個scanner的功能都有加上 java .util.InputMismatchException 這個文件的檢查功能
 
正確做法
import java.util.Scanner;
import java.util.InputMismatchException;
class ex1{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
try{
int n=sc.nextInt();
for(int i=0;i<=10;i++)
{
     System.out.println("i="+i+"\thello");
}
}catch(InputMismatchException e){
     System.out.println("請輸入整數");
}
}
}
**說明
1.在 sc.nextInt()這邊中斷的時候,會new一個exception,再透過"e"這個物件變數抓下來
2.有問題的程式碼一定要放在try裡面不然會抓不到
 
(三)多個異常訊息的捕捉,但是單選,只要有一個符合就會中斷程式
try{程式碼....}
catch(異常1 物件){....}
catch(異常2 物件){....}
import java.util.Scanner;
import java.util.InputMismatchException;
class ex1{
public static void main(String args[]){
     Scanner sc=new Scanner(System.in);
try{
int n=sc.nextInt();
System.out.println("10/n"+10/n);
for(int i=0;i<=10;i++)
{
     System.out.println("i="+i+"\thello");
}
}catch(InputMismatchException e){
     System.out.println("請輸入整數");
}
}
}
 
**說明:
如果輸入0,會被java.lang.AbstractMethodError抓出來整數不能為0的問題
 
正確
import java.util.Scanner;
import java.util.InputMismatchException;
class ex1{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
try{
int n=sc.nextInt();
System.out.println("10/n"+10/n);
for(int i=0;i<=10;i++)
{
System.out.println("i="+i+"\thello");
}
}catch(InputMismatchException e){
     System.out.println("請輸入整數");
}catch(AbstractMethodError e){
     System.out.println("分母不能為0");
}
}
}
**說明:
e為區域變數所以不會互相影響
 
3.泛型&集合 collection=>8/11
4.io(input/output)=>保留資料
=>file/database
5.thread 執行緒
 
 
arrow
arrow
    創作者介紹
    創作者 muchone 的頭像
    muchone

    簡單。生活。享受

    muchone 發表在 痞客邦 留言(0) 人氣()