Skip to content

Instantly share code, notes, and snippets.

@jonatasemidio
Created November 1, 2014 00:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jonatasemidio/a4fe4a536e3a8c42e5a5 to your computer and use it in GitHub Desktop.
Save jonatasemidio/a4fe4a536e3a8c42e5a5 to your computer and use it in GitHub Desktop.
import java.util.Map;
import java.util.HashMap;
public class Celular{
public String traduzCaracter(String frase, int posicao){
Map<String, String> dic = new HashMap<String, String>();
dic.put("A", "2");
dic.put("B", "22");
dic.put("C", "222");
dic.put("D", "3");
dic.put("E", "33");
dic.put("F", "333");
dic.put("G", "4");
dic.put("H", "44");
dic.put("I", "444");
dic.put("J", "5");
dic.put("K", "55");
dic.put("L", "555");
dic.put("M", "6");
dic.put("N", "66");
dic.put("O", "666");
dic.put("P", "7");
dic.put("Q", "77");
dic.put("R", "777");
dic.put("S", "7777");
dic.put("T", "8");
dic.put("U", "88");
dic.put("V", "888");
dic.put("W", "9");
dic.put("X", "99");
dic.put("Y", "999");
dic.put("Z", "9999");
dic.put(" ", "0");
return dic.get(Character.toString(frase.charAt(posicao)));
}
public boolean processaEspera(String atual, String anterior){
return atual.substring(0, 1).equals(anterior.substring(0, 1));
}
public void processa(String frase){
frase = frase.toUpperCase();
StringBuilder resultado = new StringBuilder();
for(int i = 0; i < frase.length(); i++){
String letraAtual = traduzCaracter(frase, i);
if(i != 0 && processaEspera(letraAtual, traduzCaracter(frase, i-1))){
letraAtual = "_"+letraAtual;
}
resultado.append(letraAtual);
}
System.out.println(resultado.toString());
}
public static void main(String[] args){
Celular celular = new Celular();
celular.processa("QUERO TRABALHAR NA WDEV");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment