[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.
import javax.swing.JOptionPane;
/**
* FATEC Mogi das Cruzes - Ago/2010
* Analise e Desenvolvimento de Sistemas
*
* @author Henrique de Oliveira Silva
* @contact [email removido]
*/
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);
}
}
import javax.swing.JOptionPane;
/**
* FATEC Mogi das Cruzes - Ago/2010
* Analise e Desenvolvimento de Sistemas
*
* @author Henrique de Oliveira Silva
* @contact [email removido]
*/
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
} // Main
} // MasterClockSoucer