Vous êtes sur la page 1sur 2

CURSO: LICENCIATURA EM ENGENHARIA INFORMTICA DISCIPLINA: Algoritmia e Programao

Ficha: APROG.PL5

Data: 03.11.2011

Faa um programa que leia uma sequncia de palavras at encontrar um palndromo (palavra cuja leitura da esquerda para a direita igual da direita para a esquerda). O programa deve contar o nmero de palavras lidas que antecedem o palndromo. OBS: Utilize o mtodo anterior que achar apropriado.
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package aprog_pl5_ex1_2011; import java.util.Scanner; /** * * @author marcodias */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { String palavra; int cont = 0; boolean flag = false; Scanner ler = new Scanner(System.in); System.out.println("Escreva uma palavra para verificar se Palindromo:"); palavra = ler.next();

while (!metodo2(palavra)) { cont++; System.out.println("Escreva uma palavra para verificar se Palindromo:"); palavra = ler.next(); flag = metodo2(palavra); } System.out.println("Foram efectuadas " + cont + " tentativas at acertar no Palindromo"); } public static boolean metodo1(String pal) { boolean resposta = true; pal = pal.toLowerCase(); int tamanho = pal.length(); for (int i = 0; i < tamanho / 2; i++) {

Algoritmia e Programao

Pgina 1

CURSO: LICENCIATURA EM ENGENHARIA INFORMTICA DISCIPLINA: Algoritmia e Programao

if (pal.charAt(i) != pal.charAt(tamanho - 1 - i)) { resposta = false; break; } } return resposta; } public static boolean metodo2(String pal) { int i, j; pal = pal.toLowerCase(); i = 0; j = pal.length() - 1; while (i < j && pal.charAt(i) == pal.charAt(j)) { i++; j--; } return i >= j; } }

Algoritmia e Programao

Pgina 2

Vous aimerez peut-être aussi