Académique Documents
Professionnel Documents
Culture Documents
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
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