Bom dia a todos ,
Estou com um probleminha , a alguns ja venho batendo a cabeça nesse exercicio e n consigo achar uma solução.
Tenho uma interface
Tenho uma classe abstract que implementar essa interface
e Duas Classes que extendem a classe abstract
Nessas duas classes , vou ter mensagens que cada classe tera um codigo para identificar de que tipo é a mensagem .
e Terei uma outra Classe que processara essa informações …
Estou lendo um pouco mais sobre classe abstract , mas qualquer explicação sobre o assunto sera mto bem vinda =D
Segue o codigo:
public interface Imessage
{
public void send();
public int code();
public String getMsg();
public void getUserInput();
}
public abstract class AbstractMessage implements Imessage
{
private int codeMsg;
private String MsgSms;
private String MsgMms;
public void setMsgMms(String msgMms) {
MsgMms = msgMms;
}
public String getMsgMms() {
return MsgMms;
}
public int getCodeMsg() {
return codeMsg;
}
public void setCodeMsg(int codeMsg) {
this.codeMsg = codeMsg;
}
public String getMsgSms() {
return MsgSms;
}
public void setMsgSms(String msgSms) {
MsgSms = msgSms;
}
public String getUserInput(String userInput)
{
String inputLine = null;
System.out.print(userInput + " ");
try
{
BufferedReader is = new BufferedReader(new InputStreamReader(System.in));
inputLine = is.readLine();
if (inputLine.length() == 0 )
return null;
}
catch(IOException e)
{
System.out.println("IOException "+ e);
}
return inputLine;
}
public static void process(Imessage msg)
{
msg.send();
if (msg.code()== 0 )
{
System.out.println("Text menssage");
System.out.println(msg.getMsg());
}
else
{
System.out.println("Multimedia menssage");
System.out.println(msg.getMsg());
}
}
public int code()
{
return getCodeMsg();
}
}
public class SmsMessage extends AbstractMessage
{
private String msgLove = " I love you ";
private String msgConnectionLost = "You have missed calls";
private String msgAlert = "Attention";
private String msgOfBusy = "I'm busy";
public String getMsgLove() {
return msgLove;
}
public String getMsgConnectionLost() {
return msgConnectionLost;
}
public String getMsgAlert() {
return msgAlert;
}
public String getMsgOfBusy() {
return msgOfBusy;
}
@Override
public void send()
{
System.out.println("[1] Menssage of love");
System.out.println("[2] Menssage of missed calls");
System.out.println("[3] Menssage of Attention");
System.out.println("[4] Menssage of busy");
System.out.println("[5] Exit");
String optionAux = getUserInput("Select an option :");
try
{
int option = Integer.valueOf(optionAux);
switch (option)
{
case 1:setMsgSms(msgLove);break;
case 2:setMsgSms(msgConnectionLost);break;
case 3:setMsgSms(msgAlert);break;
case 4:setMsgSms(msgOfBusy);break;
case 5:System.out.println("Exiting...");System.exit(0);
default:
System.out.println("=================================");
System.out.println("| Option Invalid |");
System.out.println("=================================");
send();
}
}
catch (NumberFormatException e)
{
System.out.println("=================================");
System.out.println("| Option Invalid |");
System.out.println("=================================");
send();
}
setCodeMsg(0);
}
@Override
public int code() {
return getCodeMsg();
}
@Override
public void getUserInput() {
// TODO Auto-generated method stub
}
@Override
public String getMsg() {
// TODO Auto-generated method stub
return null;
}
}
public class MmsMessage extends AbstractMessage
{
private String imgCat = "Cat.jpg";
private String soundAlert = "Alert Alert ";
private String soundCar = " Vrummm Vrummmmmmm";
private String soundExplosion = "Bbbuuuuummmmmm";
public void send()
{
System.out.println("[1] Imagem of cat");
System.out.println("[2] Sound Alert");
System.out.println("[3] Sound Car");
System.out.println("[4] Sound of Explosion");
System.out.println("[5] Exit");
String optionAux = getUserInput("Select an option :");
try
{
int option = Integer.valueOf(optionAux);
switch (option)
{
case 1:setMsgMms(imgCat);break;
case 2:setMsgMms(soundAlert);break;
case 3:setMsgMms(soundCar);break;
case 4:setMsgMms(soundExplosion);break;
case 5:System.out.println("Exiting...");System.exit(0);
default:
System.out.println("=================================");
System.out.println("| Option Invalid |");
System.out.println("=================================");
send();
}
}
catch (NumberFormatException e)
{
System.out.println("=================================");
System.out.println("| Option Invalid |");
System.out.println("=================================");
send();
}
setCodeMsg(1);
}
public int code() {
return getCodeMsg();
}
@Override
public void getUserInput()
{
}
@Override
public String getMsg() {
return null;
}
}
public class MessageProcessor
{
public static void main(String[] args)
{
}
}