//圓形面積計算,包含例外處理與格式化輸出,測試120,0.3 import java.io.*; import java.text.DecimalFormat; public class demo29d{ //Java 是由類別組成的 public static void main(String args[]) { //程式進入點 String getbr; double radius,area; final double pi=3.14159; int flag=0; radius=0; BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); DecimalFormat df = new DecimalFormat("00.00");//設定格式 DecimalFormat df1 = new DecimalFormat("#.#");//設定格式 DecimalFormat df2 = new DecimalFormat("就是 #.00");//設定格式 while (flag==0) { System.out.print("請輸入圓形半徑(輸入0結束):"); try{ getbr = br.readLine(); radius=Double.parseDouble(getbr); if (radius==0) break; //輸入0跳出去 flag=0; } catch(NumberFormatException e){ //處理輸入文字 System.out.println("請不要亂輸入好嗎?我要的是數字ㄟ!"); flag=0; continue; } catch(IOException e){//處理鍵盤遇到錯誤 System.out.println("程式停止,謝謝使用!"); return; } area=pi*radius*radius; System.out.println("圓形面積等於:"+df.format(area)); //印出字串 System.out.println("圓形面積等於:"+df1.format(area)); //印出字串 System.out.println("圓形面積等於:"+df2.format(area)); //印出字串 } } }