Tad - tipo abstrato de dados

Disponível somente no TrabalhosFeitos
  • Páginas : 25 (6243 palavras )
  • Download(s) : 0
  • Publicado : 13 de outubro de 2011
Ler documento completo
Amostra do texto
Universidade Federal de Goiás

Escola de Engenharia Elétrica e de Computação

Estrutura de Dados 1

Samuel de Castro Bernardes

Goiânia, 2009

1. TAD – Números Racionais
1.1. TAD.java
/** Essa é a interface TAD * Define todo os metodos a ser implementado no * Tipo Abstrato de Dados dos numeros Racionais */ public interface TAD { public void make(); public void add(); public voidmultiply(); public void verify(); public void invert(); }

1.2. NumerosRacionais.java
import java.util.Scanner; /** * Classe NumerosRacionais * Implementa a interface TAD * Faz operações como Soma, divisao, multiplicação, inversão e * comparação * Cria números racionais * @author Samuel */ public class NumerosRacionais implements TAD { private int a, b, c, d, n, m; static int s; // ContrutorNumerosRacionais criado para chamada d objetos. /** * Construtor NumerosRacionais() * Criado para chamar métodos pelo método principal */ public NumerosRacionais(){} /** * Método message() * Possui a ação de Scanner * Esse método permite a escolha da operação desejada * digite 1 para somar, 2 multiplicar, 3 inverter * ou 4 para verificar igualdade */ public void message(){ System.out.println("Digite onúmero do método desejado:\n\n1-Somar.\n2Multiplicar\n3-Inverter\n4-Verificar igualdade"); Scanner sc = new Scanner(System.in); s=sc.nextInt(); } /** * Método getOpção * Retorna o valor da opção escolhida no método message * para ser usado no método principal no "do" * @return s

*/ public int getOpção(){ return s; } /** * Método make() * Cria dois números racionais * recebe valores inteiros e ostransforma em numeradores e * denominadores * nao permite "0" nos denominadores */ public void make () { System.out.println ("Digite o numerador do primeiro número."); Scanner sc1 = new Scanner(System.in); a=sc1.nextInt(); do {System.out.println ("Digite o denominador do primeiro número."); Scanner sc2 = new Scanner(System.in); b=sc2.nextInt(); if (b == 0){ System.out.println("Número inválido.");} } while (b == 0); System.out.println ("Digite o numerador do segundo número."); Scanner sc3 = new Scanner(System.in); c=sc3.nextInt(); do{System.out.println ("Digite o denominador do segundo número."); Scanner sc4 = new Scanner(System.in); d=sc4.nextInt(); if (d == 0){ System.out.println("Número inválido."); } } while (d == 0); } /** * Método add() * Esse método soma os númeors racionais *Recebe valores do método make() e os soma * Quando denominadores iguais, o denominador do resultado se * iguala a eles * Informa o resultado da soma */ public void add() { if (b==d){ n = a+c; m = b; } else { n = (a*d+c*b); m = b*d; } System.out.println ("A resposta da soma é "+n+"/"+m+".\n\n"); } /** * Método invert() * Esse método inverte os números racionais * Recebe valores do método make() * Umnúmero não interfere no outro * Informa o resultado */ public void invert() {

System.out.println ("O inverso de "+a+"/"+b+" é "+b+"/"+a+".\nO inverso de "+c+"/"+d+" é "+d+"/"+c+".\n\n"); } /** * Método multiply() * Esse método multiplica números racionais * Recebe valores do método make() * Multiplica os numeradores dos dois númeors * Multiplica os denominadores dos dois números * Informa oresultado */ public void multiply() { n = a*c; m = b*d; System.out.println ("A resposta da multiplicação é "+n+"/"+m+".\n\n"); } /** * Método verify() * Verifica se os números são iguais * Recebe valores do método make() * @if se os dois numeradores são iguais e se os dois * denominadores são iguais, * informa que os númeors são iguais. * @else senão informa que os números são diferentes */ public voidverify() { if (a==c && b==d){ System.out.println ("Os dois números são iguais!\n\n"); } else { System.out.println ("Os dois números NÃO são iguais!\n\n"); } } }

1.3. Test.java
/** * Classe Test * Executa NumerosRacionais * Usada para executar os metodos implementados pela interface * TAD * essa classe ira executar os metodos message(), make(), * add(), multiply(), invert(), verify(). * so...
tracking img