[b]Olá ! Esse é meu primeiro post aqui …
Gostaria de tirar uma dúvida, aparentemente por mais que eu não consiga visualizar eu acredito que seja muito simples. Mas eu não sei aonde estou errando …
Eu tenho que “criar” um relógio, não é necessário a hora do sistema …
O exercício é sobre sobrecarga de métodos …
O usuário pode altarar somente a hora … ou a hora e os minutos … ou a hora os minutos e os segundos …
Até ai tudo bem … mas eu preciso colocar o tratamento de erros, na classe clock.class … e não dentro da main !!
E eu não estou conseguindo imaginar como trazer as funções de entrada de parametros na main para a clock …
Se alguem entender minha dúvida, poderia me ajudar ?
PS: eu sei que pode ter outros erros, ou uso demasiados de funções e até mesmo comentários de forma errada no código, mas no momento eu precisaria de ajuda
somente em como tratar o erro de parametros entrados na Main, porem tratados na Clock.
Obrigado.
[code]import javax.swing.JOptionPane;
/**
-
FATEC Mogi das Cruzes - Ago/2010
-
Analise e Desenvolvimento de Sistemas
-
@author Henrique de Oliveira Silva
-
@contact henriique@gmail.com
*/
public class Clock {/**
- Declaração de variáveis inteiras e privadas para controle
*/
private int clockTime = 12;
private int clockMinute = 30;
private int clockSecond = 59;
/**
- Setando variável de controle clockTime como pública
- e “renomeando” para pubClockTime
-
@param pubClockTime
/
public void setpubClockTime(int pubClockTime){this.clockTime = pubClockTime;}
/* - Setando variável de controle clockMinute como pública
- e “renomeando” para pubClockMinute
-
@param pubClockMinute
/
public void setpubClockMinute(int pubClockMinute){this.clockMinute = pubClockMinute;}
/* - Setando variável de controle clockSecond como pública
- e “renomeando” para pubClockSecond
-
@param pubClockSecond
*/
public void setpubClockSecond(int pubClockSecond){this.clockSecond = pubClockSecond;}
/**
-
Entrada, tratamento e correção de paramentrs
-
entrados pelo usuário
-
@param clockTime
*/
public void changeClock(int pubClockTime){if(pubClockTime > 23 || pubClockTime < 00){
JOptionPane.showMessageDialog(null, +pubClockTime+" não é uma hora válida!", “Atenção!”, 1);
}:::: PRECISO TRATAR OS ERROS AQUI ::::
/**
* Atribui o valor entrado pelo usuário
* a variável clockTime instanciada no método Main por pubClockTime
*/
clockTime = pubClockTime;
}
/**
-
Entrada, tratamento e correção de paramentrs
-
entrados pelo usuário
-
@param clockTime
-
@param clockMinute
*/
public void changeClock(int pubClockTime, int pubClockMinute){if(pubClockTime > 23 || pubClockTime < 00){
JOptionPane.showMessageDialog(null, +pubClockTime+" não é uma hora válida!", “Atenção!”, 1);
}:::: PRECISO TRATAR OS ERROS AQUI ::::
/**
* Atribui o valor entrado pelo usuário
* a variável clockTime instanciada no método Main por pubClockTime
*/
clockTime = pubClockTime;if(pubClockMinute > 59 || pubClockMinute < 00){ JOptionPane.showMessageDialog(null, +pubClockMinute+" não são minutos válidos!", "Atenção!", 1); } :::: PRECISO TRATAR OS ERROS AQUI ::::
/**
* Atribui o valor entrado pelo usuário
* a variável clockMinute instanciada no método Main por pubClockMinute
*/
clockMinute = pubClockMinute;
}/**
-
Entrada, tratamento e correção de paramentros
-
entrados pelo usuário
-
@param clockTime
-
@param clockMinute
-
@param clockSecond
*/
public void changeClock(int pubClockTime, int pubClockMinute, int pubClockSecond){if(pubClockTime > 23 || pubClockTime < 00){
JOptionPane.showMessageDialog(null, +pubClockTime+" não é uma hora válida!", “Atenção!”, 1);
}:::: PRECISO TRATAR OS ERROS AQUI ::::
/**
* Atribui o valor entrado pelo usuário
* a variável clockTime instanciada no método Main por pubClockTime
*/
clockTime = pubClockTime;if(pubClockMinute > 59 || pubClockMinute < 00){ JOptionPane.showMessageDialog(null, +pubClockMinute+" não são minutos válidos!", "Atenção!", 1); } :::: PRECISO TRATAR OS ERROS AQUI ::::
/**
* Atribui o valor entrado pelo usuário
* a variável clockMinute instanciada no método Main por pubClockMinute
*/
clockMinute = pubClockMinute;if(pubClockSecond > 59 || pubClockSecond < 00){ JOptionPane.showMessageDialog(null, +pubClockSecond+" não são segundos válidos!", "Atenção!", 1); } :::: PRECISO TRATAR OS ERROS AQUI ::::
/**
* Atribui o valor entrado pelo usuário
* a variável clockSecond instanciada no método Main por pubClockSecond
/
clockSecond = pubClockSecond;
}
/*- Método para retorno das modificações efetuadas pelo usuário
-
@return Done
*/
public String Done(){
return(clockTime+":"+clockMinute+":"+clockSecond);
}
- Declaração de variáveis inteiras e privadas para controle
}[/code]
[code]import javax.swing.JOptionPane;
/**
-
FATEC Mogi das Cruzes - Ago/2010
-
Analise e Desenvolvimento de Sistemas
-
@author Henrique de Oliveira Silva
-
@contact henriique@gmail.com
*/
public class MasterClockSoucer {/**
-
Entry pointer do programa
-
@param args
*/
public static void main(String[] args) {/**
- Declarada e inicializada variável de controle das opções
*/
int menu = 1;
int userChoiceHour;
int userChoiceMinute;
int userChoiceSecond;
/**
- Declarada nova variável para instânciar a classe Clock
*/
Clock userHour = new Clock();
/**
- Laço de reptição para manter o menu sempre
- como retorno após qualquer alteração efetuada pelo
*/
while(menu != 0){
/** * Entrada dos parâmetros pelo usuário * efetuada conversão de tipo - String para Int - * E apresentação da hora atual - padrão do programa ou atualizada pelo usuário */ menu = Integer.parseInt(JOptionPane.showInputDialog(null, "Ecolha a opção para ser alterada:\n\n "+ "1 - Hora\n "+ "2 - Hora e Minutos\n "+ "3 - Hora, Minutos e Segundos\n"+ " 0 - Sair.\n\n"+ " Hora Atual: "+userHour.Done()+"s", "JavaClock", JOptionPane.PLAIN_MESSAGE)); /** * Inicio da rotina para seleção e tratamento dos parâmetros * entrados pelo usuário */ switch(menu){ /** * Tratamento caso seja selecionada a opção 1 no menu */ case 1: //:::::: HORAS :::::::: /** * Declarada e inicializada nova variável para receber * a Hora escolhida pelo usuário para alteração */ userChoiceHour = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a Hora desejada: ", "JavaClock", JOptionPane.PLAIN_MESSAGE)); /** * Referência o novo objeto ao método changeClock da classe relogio */ userHour.changeClock(userChoiceHour); /** * Confirmação de alteração bem sucedida */ JOptionPane.showMessageDialog(null, "Alteração efetuada com sucesso!", "JavaClock", 1); /** * Retorna das alterações feitas pelo usuário */ JOptionPane.showMessageDialog(null, "Hora alterada para: "+userHour.Done()+"s.", "JavaClock", 2); // Break case 1 break; /** * Tratamento caso seja selecionada a opção 2 no menu */ case 2: // :::::: HORAS :::::::: /** * Declarada e inicializada nova variável para receber * a Hora escolhida pelo usuário para alteração */ userChoiceHour = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a Hora desejada: ", "JavaClock", JOptionPane.PLAIN_MESSAGE)); // :::::: MINUTOS :::::::: /** * Declarada e inicializada nova variável para receber * os Minutos escolhidos pelo usuário para alteração */ userChoiceMinute = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite os minutos desejados: ", "JavaClock", JOptionPane.PLAIN_MESSAGE)); /** * Referência o novo objeto ao método changeClock da classe relogio * para alteração das Horas e Minutos */ userHour.changeClock(userChoiceHour, userChoiceMinute); /** * Confirmação de alteração bem sucedida */ JOptionPane.showMessageDialog(null, "Alterações efetuadas com sucesso!", "JavaClock", 1); /** * Retorna das alterações feitas pelo usuário */ JOptionPane.showMessageDialog(null, "Hora alterada para: "+userHour.Done()+"s.", "JavaClock", 2); // Break case 2 break; /** * Tratamento caso seja selecionada a opção 2 no menu */ case 3: // :::::: HORAS :::::::: /** * Declarada e inicializada nova variável para receber * a Hora escolhida pelo usuário para alteração */ userChoiceHour = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a Hora desejada: ", "JavaClock", JOptionPane.PLAIN_MESSAGE)); // :::::: MINUTOS :::::::: /** * Declarada e inicializada nova variável para receber * os Minutos escolhidos pelo usuário para alteração */ userChoiceMinute = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite os minutos desejados: ", "JavaClock", JOptionPane.PLAIN_MESSAGE)); // :::::: SEGUNDOS :::::::: /** * Declarada e inicializada nova variável para receber * os Minutos escolhidos pelo usuário para alteração */ userChoiceSecond = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite os segundos desejados: ", "JavaClock", JOptionPane.PLAIN_MESSAGE)); /** * Referência o novo objeto ao método changeClock da classe relogio * para alteração dos Segundos */ userHour.changeClock(userChoiceHour, userChoiceMinute, userChoiceSecond); /** * Confirmação de alteração bem sucedida */ JOptionPane.showMessageDialog(null, "Alterações efetuadas com sucesso!", "JavaClock", 1); /** * Retorna das alterações feitas pelo usuário */ JOptionPane.showMessageDialog(null, "Hora alterada para: "+userHour.Done()+"s.", "JavaClock", 1); // Break 3 break; /** * Tratamento caso seja selecionada a opção 0 no menu */ case 0: /* Declaração e incialização da variável closeSistem * configuração da variável para receber JOptionPane.showCONFIRMDialog * (showConfirmDialog(null ,"message", "title", JOptionPane.YES_NO_OPTION, 2) */ int closeSistem = JOptionPane.showConfirmDialog(null, "Deseja realmente encerrar a sessão?", "Atenção!", JOptionPane.YES_NO_OPTION , 2); // Se variável closeSistem for igual (==) YES_OPTION - fechar o sistema if (closeSistem == JOptionPane.YES_OPTION){ System.exit(0); } // Senão, retornará para o menu principal else{ menu = 1; } // Break 0 break; // Default para captura de opções que não são válidas no menu default: // Erro! JOptionPane.showMessageDialog(null, +(menu)+" não é uma opção válida!", "Atenção!", 2); } // While
} // Switch
- Declarada e inicializada variável de controle das opções
} // Main
-
} // MasterClockSoucer[/code]