设计要求:可以使用类似命令行的方式来实现。程序运行后提示用户可以执行的操作类型,并要求用户输入一种选择。根据用户的选择,提示用户输入相关的信息(根据不同选择,输入不同的信息),最后在屏幕上输出这些信息。
可以使用循环来完成,以接受用户的多次输入。当用户选择退出,程序结束。对于不合要求的输入,给出提示,允许再重新输入。对于不同类型的输入信息,需要使用分支结构判别。
提示:由于书、CD、磁带有共同的内容,可以设计一个父类,父类中包含公共信息。
class MyMedia{
String mediaName; //出版物名称
float price; //出版物价格
String press; //出版社(磁带发行商)
String artist; //作者(演唱者)
void mediaNameInput(){} //出版物名称输入成员函数
void mediaPriceInput(){} //价格输入成员函数
void mediaPressInput(){} //出版社(磁带发行商)输入成员函数
void artistInput(){} //作者(演唱者)输入成员函数
}
6 个解决方案
#1
汗一个。。。。。
请问书、CD、磁带这三个类有不同信息吗?
如果没有不同信息的话,一个类就OK了,何必要三个?????
请问书、CD、磁带这三个类有不同信息吗?
如果没有不同信息的话,一个类就OK了,何必要三个?????
#2
同意用一个类。
楼主的类里再加一个变量:
String className;//表示是CD、书、磁带,或者其他东东。
楼主的类里再加一个变量:
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);
}
}
}
再写三个子类即可
以下是父类
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);
}
}
}
再写三个子类即可
#4
谢谢,我会先试再给你分的.呵呵~!
#5
楼上的楼上 好强阿 学习一下
#6
书、CD、磁带三个类可以继承自同一个父类。。。。
#1
汗一个。。。。。
请问书、CD、磁带这三个类有不同信息吗?
如果没有不同信息的话,一个类就OK了,何必要三个?????
请问书、CD、磁带这三个类有不同信息吗?
如果没有不同信息的话,一个类就OK了,何必要三个?????
#2
同意用一个类。
楼主的类里再加一个变量:
String className;//表示是CD、书、磁带,或者其他东东。
楼主的类里再加一个变量:
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);
}
}
}
再写三个子类即可
以下是父类
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);
}
}
}
再写三个子类即可
#4
谢谢,我会先试再给你分的.呵呵~!
#5
楼上的楼上 好强阿 学习一下
#6
书、CD、磁带三个类可以继承自同一个父类。。。。