Questao de Java Ajuda

4 respostas
Flatimaarruda
Defina em Java a classe Hora contendo os métodos equals, anterior, posterior e atualizar,

conforme as assinaturas abaixo:

boolean anterior(Hora h), indica se a hora fornecida como parâmetro é anterior à hora

representada pelo objeto no qual este método é executado;

boolean posterior(Hora h), indica se a hora fornecida como parâmetro é posterior à hora

representada pelo objeto no qual este método é executado;

boolean equals(Hora h), indica se a hora fornecida como parâmetro é igual à hora

representada pelo objeto no qual este método é executado;

void atualizar(Hora h), atualiza a hora representada pelo objeto no qual este método é

executado, usando as informações da hora fornecida como parâmetro.

Além dos métodos acima, defina os métodos get e set para cada um dos atributos da classe.

Defina também um construtor. Utilize o comando System.out.println(String) para apresentar possíveis

mensagens de erro na tela.

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

	Scanner entrada = new Scanner(System.in);

	int horas1;
	int minuto1;
	int horas2;
	int minuto2;
	int opcao = 0;

	System.out.println("Entre com a primeira hora:");
	horas1 = entrada.nextInt();
	System.out.println("Entre com o primeiro minuto:");
	minuto1 = entrada.nextInt();

	System.out.println("Entre com a segunda hora:");
	horas2 = entrada.nextInt();
	System.out.println("Entre com o segundo minuto:");
	minuto2 = entrada.nextInt();

	Hora hora = new Hora(horas1, minuto1);

	do {
		System.out.println("1 - Comparar horas (igual, anterior ou posterior)");
		System.out.println("2 - Atualizar horas e minuto");
		System.out.println("3 - Sair");
		opcao = entrada.nextInt();

		if (opcao == 1) {

			if (hora.equals(horas2, minuto2)) {
				System.out.println("As horas são iguais");
				System.out.println("");
			} else if (hora.anterior(horas2, minuto2)) {
				System.out.println("A segunda hora é anterior a primeira");
				System.out.println("");
			} else if (hora.posterior(horas2, minuto2)) {
				System.out.println("A segunda hora é posterior a primeira");
				System.out.println("");
			}
		} else if(opcao == 2) {
			System.out.println("Atualizando horas");
			System.out.println("Entre com a primeira hora:");
			horas1 = entrada.nextInt();
			System.out.println("Entre com o primeiro minuto:");
			minuto1 = entrada.nextInt();

			System.out.println("Entre com a segunda hora:");
			horas2 = entrada.nextInt();
			System.out.println("Entre com o segundo minuto:");
			minuto2 = entrada.nextInt();
			
			 hora.atualizar(horas1, minuto1); //armazenando nova hora e armazenando novo minuto

		}
	} while (opcao < 3);
	
	System.out.println("Finalizando o sistema!!!!");
}

}
alguem pode me dizer se esse programa ta certo?

4 Respostas

ViniGodoy

Oi.

Primeiro de tudo, edite o seu post e formate-o corretamente:

  1. Não use a tag quote para tudo! Ela é usada para citação de outros usuários;
  2. Use a tag code para seu código! Senão ele fica sem formatação e difícil de ler;
  3. Diga que erro está dando! Caso contrário, será difícil de ajudar. Se possível, indique em que linha o erro aparece.

Se você não sabe usar os recursos de formatação, leia o seguinte tópico:
http://www.guj.com.br/posts/list/50115.java

edmarr

\o/ Apoiado Vini .

P

Ela é novata e por isso não colocou o código dela formatado, um desconto pra ela. Pelo que eu entendi o que ela postou aqui é um teste em alguma empresa e ela está querendo saber a resposta, provavelmente comparar com o que ela fez.

O que ela quer é isso, saber se está certo ou errado.

ViniGodoy

Na verdade, já dei essas mesmas orientações em outros tópicos. Pode conferir o histórico.

Criado 7 de outubro de 2009
Ultima resposta 7 de out. de 2009
Respostas 4
Participantes 4