Skip to content

Instantly share code, notes, and snippets.

@celsojr
Created October 22, 2017 18:58
Show Gist options
  • Save celsojr/873998a347f6b9a991eae38f8421e222 to your computer and use it in GitHub Desktop.
Save celsojr/873998a347f6b9a991eae38f8421e222 to your computer and use it in GitHub Desktop.
/**
* Programa em Java para contar as ocorrências de cada letra em uma frase.
*
* @author Celso Jr
* @version Imperativa
*
*/
import java.io.*;
/**
* Deixe seu programa para compilar e rodar com os seguintes comandos:
* javac Mapa.java
* java Mapa
*/
public class Mapa { // Uma classe chamada Mapa,
public static void main(String[] args) throws IOException { // de onde o método main será executado.
System.out.println("+---------------------------------------+");
System.out.println("| |");
System.out.println("| SUPER HIPER CONTADOR DE LETRAS 2017 |");
System.out.println("| |");
System.out.println("+---------------------------------------+");
System.out.println("Digite (ou cole) uma frase qualquer:");
// Um array de 26 posições, uma para cada letra (use array simples).
int[] total = new int[26];
// Precisa realizar a leitura de dados.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String frase = br.readLine().toUpperCase(); // Lembre-se de que letras maiúsculas e minúsculas são diferentes.
// A tabela ASCII pode ajudar.
int a = (int)'A';
// Dos dados lidos,
for (char c : frase.toCharArray())
{
if (Character.isLetter(c)) // verificar a quantidade de 'letras'
{
int b = (int)c;
total[b - a]++; // e guardar no array antes de exibir.
}
}
for (int i = 0; i < 26; i++)
{
if (total[i] > 0) // Exiba apenas as letras que aparecem no texto digitado.
{
System.out.printf("%c - %d\n", (char)(a + i), total[i]);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment