Olá pessoal!!
Estou trabalhando num projetinho sobre manipulações de hora.
Tenho uma classe TempoMostra que me pede para inserir as horas, mostrar e zerar o relógio. É onde está o meu main.
Qdo insiro as horas, utilizo set e get e chamo um Construtor que recebe 3 parâmetros (hora, min e seg), como abaixo:
Tempo novoTempo = new Tempo(iHora, iMin, iSeg);
case 1:
iHora = Integer.parseInt(JOptionPane.showInputDialog("Digite uma hora"));
iMin = Integer.parseInt(JOptionPane.showInputDialog("Digite um minuto"));
iSeg = Integer.parseInt(JOptionPane.showInputDialog("Digite um segundo"));
novoTempo.setHora(iHora);
novoTempo.setMin(iMin);
novoTempo.setSeg(iSeg);
break;
Esta inserção das horas está funcionando perfeito e me msotra as horas corretamente.
Porém, qdo peço para zerar o relógio, ele não zera e continua me mostrando as horas q eu tinha digitado antes.
Só que nada acontece. Utilizando o construtor com 3 parâmetros eu consigo zerar a hora, mas preciso é tentar utilizar esse construtor Tempo(). Já achei algumas coisas como a simples criação do obj do respectivo construtor, vc já está chamando ele, mas parece que não está funcionando pra mim.
Alguém sabe como me dar uma ajuda nessa?
Abraços!
André
É, eu vi aqui que qdo peço pra ele me mostrar as horas, ele me mostra do novoTempo, isto é, tá me mostrando as horas que eu digitei.
Porém, qdo eu chamo o Tempo zeraTempo = new Tempo() ele não deveria chamar por esse Construtor Tempo () e zerar os atributos da classe?
Só mostrando mais uma vez:
Pq q eu chamo esse construtor e mesmo depois de chamar o novoTempo, as horas continuam a mesma q eu digitei? Não entendi isso… Esse construtor Tempo () não passaria os atributos hora, min e seg pra valor 0?
Valeu pela ajuda!
Olá Dirceu!
Funcionou a sua dica, mas fica uma dúvida ainda pra mim!!
Pq que qdo uso o que vc me disse dá certo e qdo uso o código abaixo dá erro pq ele acusa que novoTempo é variável duplicada, cabendo a mim tendo q escolher outro nome pra ela?
case 5:
Tempo novoTempo = new Tempo();
break;
Qual a diferença de: novoTempo = new Tempo();
para
Tempo novoTempo = new Tempo();
??
Desculpem minahs perguntas meio bobas!
Abraços e mais uma vez agradeço a imensa a ajuda de vcs!!
[quote=acymiranda][quote=DirceuSobrinho]Como o amigo acima disse!
substitua no case 5 zeraTempo por novoTempo:
case 5:
novoTempo = new Tempo();
break;
[/quote]
Olá Dirceu!
Funcionou a sua dica, mas fica uma dúvida ainda pra mim!!
Pq que qdo uso o que vc me disse dá certo e qdo uso o código abaixo dá erro pq ele acusa que novoTempo é variável duplicada, cabendo a mim tendo q escolher outro nome pra ela?
case 5:
Tempo novoTempo = new Tempo();
break;
Qual a diferença de: novoTempo = new Tempo();
para
Tempo novoTempo = new Tempo();
??
Desculpem minahs perguntas meio bobas!
Abraços e mais uma vez agradeço a imensa a ajuda de vcs!![/quote]
A diferença é que no primeiro caso ela já foi declarada e no segundo caso vc está declarando uma nova. Acontece que você não pode declarar uma nova variável com o nome de uma variável que já existe!