Ajuda com programa simples! [+SOLUCIONADO]

4 respostas
M

então galera, meu professor passou um trabalho pra hoje à tarde e fica dando um erro mto chato e eu nao consigo resolver.

public class Principal
{
	public static void main (String[]p)
 	{
	  Interface i=new Interface();
 	 Relogio r=new Relogio(0,0,0); //r representa um relogio que marca 0:0:0
	  Relogio d=new Relogio(11,59,59);
	  String horario= d.fornecaHorario(); //horario = 11:59:59
	  d.tictac(); //incrementa a hr em 1 segundo
	  i.mostreMensagem(d.fornecaHorario()); //será mostrado o string 12:0:0
	  d.tictac();  // d agora marca o horario 12:0:1
	  Relogio rel=new Relogio(23,59,59);
	  rel.tictac();
	  i.mostreMensagem(rel.fornecaHorario()); //sera mostrado 0:0:0
 	}
}

tenho que fazer a classe relogio, eu fí-la e ficou deste jeito, dando erro na linha 15:

import javax.swing.JOptionPane;
public class Relogio
{
	protected double hora;
	protected double minuto;
	protected double segundo;
	public Relogio(double vh, double vm, double vs)
	{
		hora = vh;
		minuto = vm;
		segundo = vs;
	}
	public Relogio fornecaHorario()
	{
		return String horaatual = "A hora atual é :"+hora+":"+minuto+":"+segundo;
	}
	public void tictac()
	{
		segundo +=1;
		if (segundo==60)
		{
			minuto +=1;
			segundo = 0;
		}
		if (minuto==60)
		{
			hora +=1;
			minuto= 0;
		}
		if (hora==24)
		{
			hora= 0;
		}
			
	}
}

o que houve de errado? :lol:

4 Respostas

Marky.Vasconcelos
public Relogio fornecaHorario() {  
         return String horaatual = "A hora atual é :"+hora+":"+minuto+":"+segundo;  
}

Nesse trecho voce diz que o método fornecaHorario deveria retornar um objeto Relogio… mas voce es tentando retornar uma String… for ao caso que voce fez uma declaração no return.

Acho que voce pretende retornar uma String e não outro Relogio então o correto seria.

public String fornecaHorario() {

E para o return não é necessario essa declaração como voce fez String horaatual = ‘…’
voce pode retornar só o valor do ‘…’ ou então declarar essa variavel antes do return e retornar ela.

G

Bom dia,

public String fornecaHorario()  
    {  
        return "A hora atual é :"+hora+":"+minuto+":"+segundo;  
    }

Tenta ae…
Não sei nao, se precisa converter de Double pra String… não testei…

flw.

Lifeguide

Não olhei o código todo, mas o erro na linha 15 é que vc se esqueceu de colocar o tipo de retorno do método como String.

public String fornecaHorario()  
     {  
         return String horaatual = "A hora atual é :"+hora+":"+minuto+":"+segundo;  
     }
M

po, obrigado galera!

é que eu ia fazer de um jeito e resolvi fazer de outro, aí esqueci de mudar o tipo de retorno do método

valeu ae!

Criado 15 de abril de 2009
Ultima resposta 15 de abr. de 2009
Respostas 4
Participantes 4