-
StringsFundamentals
Description PhoneWords.
Given a string of numbers, you must perform a method in which you will translate this string into text , following the next image.
for example if you want to translate the letter B, you will have to return 22.
here some samples.
443355555566604466690277733099966688 -> hello how are you.
55282->kata.
- 0 are spaces in the string
- Given a string full of 0 return empty string.
- Given a empty string , return empty string.
- Given a null string , return empty string.
- The string will not receive negative numbers.
- return a lowercase string.
Code import java.util.ArrayList; import java.util.List; public class phoneWords{ //Good luck public static String phoneWords(String str){ char letra; StringBuilder mensaje = new StringBuilder(); List<String> arrDos = new ArrayList<String>(); arrDos.add("a"); arrDos.add("b"); arrDos.add("c"); List<String> arrTres = new ArrayList<String>(); arrTres.add("d"); arrTres.add("e"); arrTres.add("f"); List<String> arrCuatro = new ArrayList<String>(); arrCuatro.add("g"); arrCuatro.add("h"); arrCuatro.add("i"); List<String> arrCinco = new ArrayList<String>(); arrCinco.add("j"); arrCinco.add("k"); arrCinco.add("l"); List<String> arrSeis = new ArrayList<String>(); arrSeis.add("m"); arrSeis.add("n"); arrSeis.add("o"); List<String> arrSiete = new ArrayList<String>(); arrSiete.add("p"); arrSiete.add("q"); arrSiete.add("r"); arrSiete.add("s"); List<String> arrOcho = new ArrayList<String>(); arrOcho.add("t"); arrOcho.add("u"); arrOcho.add("v"); List<String> arrNueve = new ArrayList<String>(); arrNueve.add("w"); arrNueve.add("x"); arrNueve.add("y"); arrNueve.add("z"); if(str.isBlank()) return ""; for (int i = 0; i < str.length(); i++) { int cont = 0; letra = str.charAt(i); if(letra != '7' && letra != '9') { while (i != str.length() - 1 && str.charAt(i) == str.charAt(i + 1) && cont != 2) { cont++; i++; } }else { while (i != str.length() - 1 && str.charAt(i) == str.charAt(i + 1) && cont != 3) { cont++; i++; } } switch (letra) { case '0': mensaje.append(" "); break; case '2': mensaje.append(arrDos.get(cont)); break; case '3': mensaje.append(arrTres.get(cont)); break; case '4': mensaje.append(arrCuatro.get(cont)); break; case '5': mensaje.append(arrCinco.get(cont)); break; case '6': mensaje.append(arrSeis.get(cont)); break; case '7': mensaje.append(arrSiete.get(cont)); break; case '8': mensaje.append(arrOcho.get(cont)); break; case '9': mensaje.append(arrNueve.get(cont)); break; } } if(mensaje.toString().isBlank()) return ""; return mensaje.toString(); } }
Test Cases import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; // TODO: Replace examples and use TDD by writing your own tests class SolutionTest { void testSomething() { // assertEquals("expected", "actual"); } void isEmpty(){ assertEquals("",phoneWords.phoneWords("")); } void BasicTest(){ assertEquals("hello how are you",phoneWords.phoneWords("443355555566604466690277733099966688")); assertEquals("kata",phoneWords.phoneWords("55282")); } }
Output:
-
Code - import java.util.ArrayList;
- import java.util.List;
- public class phoneWords{
//good luck- //Good luck
- public static String phoneWords(String str){
- char letra;
- StringBuilder mensaje = new StringBuilder();
- List<String> arrDos = new ArrayList<String>();
- arrDos.add("a");
- arrDos.add("b");
- arrDos.add("c");
- List<String> arrTres = new ArrayList<String>();
- arrTres.add("d");
- arrTres.add("e");
- arrTres.add("f");
- List<String> arrCuatro = new ArrayList<String>();
- arrCuatro.add("g");
- arrCuatro.add("h");
- arrCuatro.add("i");
- List<String> arrCinco = new ArrayList<String>();
- arrCinco.add("j");
- arrCinco.add("k");
- arrCinco.add("l");
- List<String> arrSeis = new ArrayList<String>();
- arrSeis.add("m");
- arrSeis.add("n");
- arrSeis.add("o");
- List<String> arrSiete = new ArrayList<String>();
- arrSiete.add("p");
- arrSiete.add("q");
- arrSiete.add("r");
- arrSiete.add("s");
- List<String> arrOcho = new ArrayList<String>();
- arrOcho.add("t");
- arrOcho.add("u");
- arrOcho.add("v");
- List<String> arrNueve = new ArrayList<String>();
- arrNueve.add("w");
- arrNueve.add("x");
- arrNueve.add("y");
- arrNueve.add("z");
- if(str.isBlank()) return "";
- for (int i = 0; i < str.length(); i++) {
- int cont = 0;
- letra = str.charAt(i);
- if(letra != '7' && letra != '9') {
- while (i != str.length() - 1 && str.charAt(i) == str.charAt(i + 1) && cont != 2) {
- cont++;
- i++;
- }
- }else {
- while (i != str.length() - 1 && str.charAt(i) == str.charAt(i + 1) && cont != 3) {
- cont++;
- i++;
- }
- }
- switch (letra) {
- case '0':
- mensaje.append(" ");
- break;
- case '2':
- mensaje.append(arrDos.get(cont));
- break;
- case '3':
- mensaje.append(arrTres.get(cont));
- break;
- case '4':
- mensaje.append(arrCuatro.get(cont));
- break;
- case '5':
- mensaje.append(arrCinco.get(cont));
- break;
- case '6':
- mensaje.append(arrSeis.get(cont));
- break;
- case '7':
- mensaje.append(arrSiete.get(cont));
- break;
- case '8':
- mensaje.append(arrOcho.get(cont));
- break;
- case '9':
- mensaje.append(arrNueve.get(cont));
- break;
- }
- }
- if(mensaje.toString().isBlank()) return "";
- return mensaje.toString();
- }
- }
- All
- {{group.name}} ({{group.count}})
This comment has been reported as {{ abuseKindText }}.
Show
This comment has been hidden. You can view it now .
This comment can not be viewed.
- |
- Reply
- Edit
- View Solution
- Expand 1 Reply Expand {{ comments?.length }} replies
- Collapse
- Remove
- Remove comment & replies
- Report
{{ fetchSolutionsError }}