Aplicativo

7 respostas
M

Olha só essa!

Questao:

O tempo de gestaçao de um elefante indiano é de aproximadamente 624 dias. Usando a classe ConversaoDeUnidadeTempo, escreva uma programa que mostre qual é o tempo de gestaçao de um elefante indiano em dias, horas, minutos e segundos. Escreva métodos adicionais para a classe ConversaoDeUnidadeTempo, se necessario.

Pessoal, eu ja fiz a classe conversao de tempo.

//7 Questao do Exercicio
class ConversorDeUnidadeTempo{
    public static int converteMinutoToSegundo(int a){
        return (a*60);
    }
    public static int converteHoraToMinuto(int b){
        return (b*60);
    }
    public static int converteDiaToHora(int h){
        return (h*24);
    }
    public static int converteSemanaToDia(int s){
        return (s*7);
    }
    public static int converteMesToDia(int m){
        return (m*30);
    }
    public static double converteAnoToDia (int Ano){
        return(Ano*365.25);
    }
}

Só que nao sei muito bem como fazer esse segunda parte… esse negocio de pegar informacoes de outras classes ainda é meu calcanhar de aquile.

eu chutei isso… mas acho que vai babar…

Dica please!!

import javax.swing.JOptionPane;

class Aplicativo{
   public static void main(String args[]){
       double QAno;
       ConversorDeUnidadeTempo gestacaoElefante=new ConversorDeUnidadeTempo();
       
       QAno=1.7;
       gestacaoElefante(QAno);
       
       gestacaoElefante.converteAnoToDia{
           JOptionPane.showMessageDialog(null,"A quantidade de Dias da Gestação é:","Resposta",JOptionPane.PLAIN_MESSAGE);
       }
           
       
}
}      
       
       
       
       
	
}

MigMax

7 Respostas

C

Vc não pode fazer:

gestacaoElefante(QAno);

Pois gestacaoElefante é uma variável. Lembre-se q vc acessa um método sempre da seguinte forma:

nome_variavel.nome_metodo(param_1, param_2, ..., param_n);

Presuponho q vc esteja querendo passar alguma coisa para o construtor da classe, se fosse isso vc deveria fazer:

NomeClasse nome_variavel = new NomeClasse(param1, ..., param_n);

Nesse seu caso isso não se aplica pois a sua classe não tem nenhum construtor.

Se, por exemplo, vc quer saber qtos dias tem 10 anos, vc pode fazer:

double dias = ConversorDeUnidadeDeTempo.converteAnoToDia(10);

Isso pq o método converteAnoToDia é estático, logo vc não precisa chamar esse método sobre algum objeto, pode chamá-lo pela classe mesmo.

Se o que você quer é chamar o método converteAnoToDia, é a linha de cima q faz isso. Agora observe que o argumento dela é int, recomendo mudar o argumento para double, só para vc poder passar número de anos que não sejam inteiros.

[]'s
carisio

M

O tempo de gestaçao de um elefante indiano … cara, teu professor tem cada idéia… aehaehae… :lol: :lol: :lol:

M

Pra vcs verem como é dificil aprender java com ele. juro que aprendi bem mais com vcs aqui.

MigMax

M

Amigos, olhem só... eu nao consigo sair do papel.

ele quer q eu transforme 524.25 em Segundo, MInuto, Hora, Semana, Mes e Ano, Dias nao precisa pq ele ja dá a quantidade.

Alguem seja mais preciso, O carisio as vezes é muito tecnico, eu ainda to engatiando aqui..

Vamos devagar com o andor pq o santo é de barro.

eu comecei assim.

class Aplicativo{
public static void main(String args[]){
ConversorDeUnidadeTempo Verifica=new ConversorDeUnidadeTempo();
double Ano, Mes, Semana, Dia, Hora, Minuto, Segundo;

public double Dias(double 624.25){
}




}


}

Dicas please!!!!! :tosco: 

MigMax
M

Galera!!! AAAAAleluiaaa !!! AAAAAleluiaaa!!! Gente! consegui… peguei uma dica de uma colega e matei o resto da questao.

olhem só:

class Aplicativo{
   
   public static void main(String args[]){
       long Hora,Minuto,Segundo;
       long Dias=624;
       Hora=ConversorDeUnidadeTempo.converteDiaToHora(Dias);
       System.out.print("A Quantidade de Horas durante a Gestacao de um Elefante é: " + Hora + " Horas." + " \n");
       Minuto=ConversorDeUnidadeTempo.converteHoraToMinuto(Hora);
       System.out.print("A Quantidade de Minutos durante a Gestacao de um Elefante é: " + Minuto + " Minutos."+ " \n");
       Segundo=ConversorDeUnidadeTempo.converteMinutoToSegundo(Minuto);
       System.out.print("A Quantidade de Segundos durante a Gestacao de um Elefante é: " + Segundo + " Segundos."+ " \n");
   
     }
}

Na verdade era só 624 dias e nao os 624.25 q tinha dito antes.

Na tela fica assim:

A Quantidade de Horas durante a Gestacao de um Elefante é: 14976 Horas. 
A Quantidade de Minutos durante a Gestacao de um Elefante é: 898560 Minutos. 
A Quantidade de Segundos durante a Gestacao de um Elefante é: 53913600 Segundos.

Mas valeu mesmo as dicas de vcs… abraços e até a proxima.

MigMax

C

Bom, vamos pra prática então. Esse número q ele tá dando é em dias não é? Então vamos lá.

Fiz a seguinte classe:

class Conversor
{

	public static double DiaParaMeses(double dias)
	{
		// Em média um mês tem 30 dias...
		return dias/30;
	}
	public static double DiaParaSemanas(double dias)
	{
		// Uma semana tem 7 dias
		return dias/7;
	}
	public static double DiaParaAnos(double dias)
	{
		// Um ano tem 365.25 dias
		return dias/365.25;
	}
	public static double DiaParaHoras(double dias)
	{
		// Um dia tem 24 horas
		return dias * 24;
	}
	public static double DiaParaMinutos(double dias)
	{
		// Um dia tem h horas, e h horas tem h*60 minutos
		return Conversor.DiaParaHoras(dias) * 60;
	}
	public static double DiaParaSegundos(double dias)
	{
		// Um dia tem m minutos, e m minutos tem m*60 segundos
		return Conversor.DiaParaMinutos(dias) * 60;
	}
}

Veja q eu não to fazendo a conversão direito, por exemplo, pra converter de dias pra meses eu to dividindo por 30 direto, coisa e tal.

Pra testar a classe:

public class Teste
{
	public static void main(String args[])
	{
		if (args.length != 1)
		{
			System.out.println("Use java Teste numero_de_dias");
			return;
		}
		double dias = Double.parseDouble(args[0]);
		System.out.println(dias + " dias tem:");
		System.out.println(Conversor.DiaParaMeses(dias) + " meses");
		System.out.println(Conversor.DiaParaSemanas(dias) + " semanas");
		System.out.println(Conversor.DiaParaAnos(dias) + " anos");
		System.out.println(Conversor.DiaParaHoras(dias) + " horas");
		System.out.println(Conversor.DiaParaMinutos(dias) + " minutos");
		System.out.println(Conversor.DiaParaSegundos(dias) + " segundos");
	}
}

Pra rodar, vc usa java Teste numero-de-dias

Então, na prática a teoria é essa…

[]'s
carisio

M

Carisio,

Vc tem uma tecnica muito apurada, Mas eu jamais conseguiria acompanhar seu raciocinio no nivel q me encontro… Mas é vivendo e aprendendo…

Eu consegui fazer como vc pode ver de uma maneira mais simples… claro que tb contei com ajuda.

Mas quanto mais ideias vieram de vcs, mais eu aprendo…

Valeu mesmo.
:sentido:
Migmax

Criado 11 de maio de 2004
Ultima resposta 12 de mai. de 2004
Respostas 7
Participantes 3