?? mediamain.java
字號:
//**************************************
//by lemon,2006
//信息的輸入,文件名稱:MediaMain.java
//**************************************
import java.io.*;
import java.util.Date;
import java.text.*;
//出版物父類
class MyMedia{
String mediaName;
float price;
String press;
String artist;
void mediaNameInput(){
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
boolean b=true;
while(b){
mediaName=in.readLine();
if(mediaName.matches(""))
System.out.print("名稱不能為空!請重試:");
else b=false;
}
}
catch(IOException e){System.out.println(e);}
}
void mediaPriceInput(){
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
boolean b=true;
L1:
while(b){
try{
price=Float.parseFloat(in.readLine());
if(price<=0)
System.out.print("負數!請重試:");
else b=false;
}catch(NumberFormatException e){
System.out.print("非數字!請重試:");
continue L1;
}
}
}
catch(IOException e){System.out.println(e);}
}
void mediaPressInput(){
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
press=in.readLine();
}
catch(IOException e){System.out.println(e);}
}
void artistInput(){
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
artist=in.readLine();
}
catch(IOException e){System.out.println(e);}
}
}
class MyBook extends MyMedia{
String editor;
Date publishDate=null;
String bookISBN;
MyBook(String bn, float bp,String bpr,String ba,String bi,String be){
mediaName=bn;
price=bp;
artist=ba;
bookISBN=bi;
editor=be;
}
try{
String bpds=new String();
DateFormat bpddf=DateFormat.getDateInstance();
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.print("請輸入書的ISBN:");
bookISBN=in.readLine();
System.out.print("請輸入書的編輯:");
editor=in.readLine();
boolean b=true;
L2:
while(b){
System.out.print("請輸入書的出版日期(yyyy-mm-dd):");
bpds=in.readLine();
try{
publishDate=bpddf.parse(bpds);
b=false;
}catch(Exception e){
System.out.print("輸入日期不正確!請重試!\n");
continue L2;
}
}
}catch(IOException e){
System.out.print(e);
}
}
public void getbookInfo(){
int year,month,day;
year=publishDate.getYear()+1900;
month=publishDate.getMonth()+1;
day=publishDate.getDate();
System.out.println("您輸入了如下信息:\n"+"書的名稱是:"+mediaName+"\n書的價格是:"+price+"\n書的作者是:"+artist+"\n書的ISBN是:"+bookISBN+"\n書的出版社是:"+press+"\n書的編輯是:"+editor+"\n書的出版日期是:"+year+"年"+month+"月"+day+"日");
System.out.println();
}
}
class MyCD extends MyMedia{
String cdISRC;
String cdPublisher;
MyCD(String cn,float cp,String cpr,String ca,String ci,String cp1){
mediaName=cn;
price=cp;
press=cpr;
artist=ca;
cdISRC=ci;
cdPublisher=cp1;
}
public void cdOtherInfo(){
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.print("請輸入CD的ISRC:");
cdISRC=in.readLine();
System.out.print("請輸入CD的發行商:");
cdPublisher=in.readLine();
}catch(IOException e){
System.out.print(e);
}
}
public void getcdInfo(){
System.out.println();
System.out.println("您輸入了如下信息:\n"+"CD的名稱是:"+mediaName+"\nCD的價格是:"+price+"\nCD的出版社是:"+press+"\nCD唱片的演唱者是:"+artist+"\nCD的ISRC是:"+cdISRC+"\nCD的發行商是:"+cdPublisher);
System.out.println();
}
}
class MyTape extends MyMedia{
String tapeISRC;
MyTape(String tn,float tp,String ta,String ti,String tpr){
mediaName=tn;
price=tp;
artist=ta;
tapeISRC=ti;
press=tpr;
}
public void tapeOtherInfo(){
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.print("請輸入CD的ISRC:");
tapeISRC=in.readLine();
}catch(IOException e){
System.out.print(e);
}
}
public void gettapeInfo(){
System.out.println();
System.out.println("您輸入了如下信息:\n"+"磁帶的名稱是:"+mediaName+"\n磁帶的價格是:"+price+"\n磁帶的演唱者是:"+artist+"\n磁帶的ISRC是:"+tapeISRC+"\n磁帶的發行商是:"+press);
System.out.println();
}
}
public class MediaMain{
public static void main(String[] args){
int choice=0;
boolean continu_e=true;
while(continu_e){
System.out.println("\n請選擇你要進行的操作(請輸入1---4中的任一數字):\n");
System.out.println("1:輸入書的信息;");
System.out.println("2:輸入CD的信息;");
System.out.println("3:輸入磁帶的信息;");
System.out.println("4:退出系統;");
boolean b=true;
try{
while(b){
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
choice=Integer.parseInt(in.readLine());
if((choice<1)||(choice>4)){
System.out.println("輸入錯誤!請重試:");
continue;
}
b=false;
}catch(NumberFormatException e){
System.out.println("非數字!請重試:");
continue;
}
}
}catch(IOException e){System.out.println(e);}
MyBook mb=new MyBook("",0.0f,"","","","");
MyCD mc=new MyCD("",0.0f,"","","","");
MyTape mt=new MyTape("",0.0f,"","","");
switch(choice){
case 1:
System.out.print("請輸入書的名字:");
mb.mediaNameInput();
System.out.print("請輸入書的價格:");
mb.mediaPriceInput();
System.out.print("請輸入書的出版社:");
mb.mediaPressInput();
System.out.print("請輸入書的作者:");
mb.artistInput();
mb.bookOtherInfo();
mb.getbookInfo();
break;
case 2:
System.out.print("請輸入CD的名字:");
mc.mediaNameInput();
System.out.print("請輸入CD的價格:");
mc.mediaPriceInput();
System.out.print("請輸入CD的出版社:");
mc.mediaPressInput();
System.out.print("請輸入CD的演唱者:");
mc.artistInput();
mc.cdOtherInfo();
mc.getcdInfo();
break;
case 3:
System.out.print("請輸入磁帶的名字:");
mt.mediaNameInput();
System.out.print("請輸入磁帶的價格:");
mt.mediaPriceInput();
System.out.print("請輸入磁帶的發行商:");
mt.mediaPressInput();
System.out.print("請輸入磁帶的演唱者:");
mt.artistInput();
mt.tapeOtherInfo();
mt.gettapeInfo();
break;
default:
continu_e=false;
}
}
System.out.println("再見!\n");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -