设计题目:模拟简单的信息录入系统。设计书、CD、磁带三个类,每个类含有名字、作者或演唱者、出版社或唱片社、价格、出版日期等相关信息。根据系统提示从键盘输入相关内容。设计要求:可以使用类似命令行的方式来实现。程序运行后提示用户可以执行的操作类型,并要求用户输入一种选择。根据用户的选择,提示用户输入相关的信息(根据不同选择,输入不同的信息),最后在屏幕上输出这些信息。   可以使用循环来完成,以接受用户的多次输入。当用户选择退出,程序结束。对于不合要求的输入,给出提示,允许再重新输入。对于不同类型的输入信息,需要使用分支结构判别。提示:由于书、CD、磁带有共同的内容,可以设计一个父类,父类中包含公共信息。
class MyMedia{
String mediaName;       //出版物名称
float price;              //出版物价格
String press;             //出版社(磁带发行商)
String artist;             //作者(演唱者)
void mediaNameInput(){}   //出版物名称输入成员函数
void mediaPriceInput(){}    //价格输入成员函数
void mediaPressInput(){}    //出版社(磁带发行商)输入成员函数
void artistInput(){}         //作者(演唱者)输入成员函数
}         

解决方案 »

  1.   

    汗一个。。
    请问书、CD、磁带这三个类有不同信息吗?
    如果没有不同信息的话,一个类就OK了,何必要三个?????
      

  2.   

    同意用一个类。
    楼主的类里再加一个变量:
    String className;//表示是CD、书、磁带,或者其他东东。
      

  3.   

    按照你的要求代码会有些冗余,不过可以写
    以下是父类import java.io.*;
    import java.util.Date;
    import java.text.*;
    //出版物父类
    class MyMedia
    {String mediaName;
    float price;
    String press;
    String artist;
    void mediaNameInput()
    {try
    {InputStreamReader ir=new InputStreamReader(System.in);
         BufferedReader in=new BufferedReader(ir);
     boolean b=true;
     while(b){
     mediaName=in.readline();
     if (mediaName.matchea("")) System.out.println("名字不能为空!请重试:");
     else  b=false;}
     
    }
    catch (Exception e)
    {System.out.println(e);
    }
    }
    //出版物价格输入成员函数
    void mediaPriceInput(){
    try
    {String p=new String();
    InputStreamReader ir=new InputStreamReader(System.in);
         BufferedReader in=new BufferedReader(ir);
     boolean b=true;
     while(b){
     p=in.readline();
     try{
     price=Float.parseFloat(p);
     if (price<0) {System.out.println("不能为负数!请重试:");
     else  b=false; }
          catch(NumberFormatException e){
      System.out.println("非数字!请重试:");
      }
     }
     }
    catch (Exception e)
    {System.out.println(e);
    }
    }
    //出版社(磁带发行商)输入成员函数
    void mediaPressInput(){
    try{
    String mp=new String();
               InputStreamReader ir=new InputStreamReader(System.in);
               BufferedReader in=new BufferedReader(ir);
       mp=in.readLine();
       press=mp;
    }catch (Exception e)
    {System.out.println(e);
    }
    }
    //作者(演唱者)输入成员函数
    void artistInput(){
    try{
             String ma=new String();
               InputStreamReader ir=new InputStreamReader(System.in);
               BufferedReader in=new BufferedReader(ir);
       ma=in.readLine();
       artist=ma;
    }catch (Exception e)
    {System.out.println(e);
    }
    }
    }
    再写三个子类即可