2009年10月10日土曜日

Javaの継承と例外処理の一例

/*Javaで継承と例外処理を取り入れた簡単なプログラム*/
import java.util.*;
import java.io.*;
class Syohin11{
private static final float TAX = 0.05f;
public float Syouhizei(int kingaku){
if (kingaku < 0){
System.out.println("正しい金額を入力して下さい。");
return 0;
}else{
return kingaku * TAX;
}
}
}

class Syohin11E extends Syohin11{
public String SKigen(){
Calendar myCal = Calendar.getInstance();
myCal.add(Calendar.MONTH,1);
String str = myCal.get(Calendar.YEAR)+"年"+(myCal.get(Calendar.MONTH)+1)+"月"+myCal.get(Calendar.DATE)+"日";
return str;
}
}

public class JTest11 {
public static void main(String[] args)throws IOException {
System.out.println("売り上げた商品名と金額を入力して下さい。");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
int intTmp = 0;
try {
intTmp = Integer.parseInt(str2);
} catch(java.lang.NumberFormatException e) {
System.out.println("正しい金額を入力してください。");
}
Syohin11E shin = new Syohin11E();
if (shin.Syouhizei(intTmp)==0){
System.out.println("処理を中断します。");
return;
}
System.out.println("商品名="+str1+"の消費税は"+shin.Syouhizei(intTmp)+"円です。");
System.out.println("商品名="+str1+"は消費期限が"+shin.SKigen()+"です。");
}
}
/* $cd workspace, $javac JTest11.java, $java JTest11とLinux端末に入力後
商品名を入力後ENTERキー、価格(円)を入力後ENTERキーを押すと
消費税、消費期限(1ヶ月後)が表示されます。価格に間違って文字を入力してもエラーは出ません。(あらかじめJDKをインストールし、/home/user/workspaceにこのプログラムをJTest11.javaと名前を付けて保存しておいてください)*/

0 件のコメント: