| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- public class LoopFun
- {
-
- /**
- * Given a number, return the factorial of that number.
- * For example, given 5, the factorial is 5 x 4 x 3 x 2 x 1 which should return 120.
- * @param number
- * @return the factorial of the number
- */
- public int factorial(int number){
- int result = 1;
- for(int i=1; i<=number; i++){
- result = result * i;
- System.out.println();
- }
- return result;
- }
-
- /**
- * Given a phrase, get the acronym of that phrase. Acronym is the combination of
- * the first character of each word in upper case.
- * For example, given "Ruby on Rails", this method will return "ROR"
- * @param phrase
- * @return Upper case string of the first letter of each word
- */
- public String acronym(String phrase) {
- int firstSpaceIndex = phrase.indexOf(" ");
- int lastSpaceIndex = phrase.lastIndexOf(" ");
- phrase = phrase.toUpperCase();
- String result = phrase.substring(0,1);
- while (lastSpaceIndex > firstSpaceIndex && firstSpaceIndex != -1) {
- result = result + phrase.substring(firstSpaceIndex+1, firstSpaceIndex+2);
- phrase = phrase.substring(0,firstSpaceIndex) + phrase.substring(firstSpaceIndex+1);
- firstSpaceIndex = phrase.indexOf(" ");
- }
- return result;
- }
-
- /**
- * To prevent anyone from reading our messages, we can encrypt it so it will only be readable by its
- * intended audience. This method encrypt the message by shifting the letter by 3 characters. If the character is
- * at the end of the alphabet, it will wraps around.
- * For example:
- * 'a' => 'd'
- * 'w' => 'z'
- * 'x' => 'a'
- * 'y' => 'b'
- * @param word
- * @return the encrypted string by shifting each character by three character
- */
- public String encrypt(String word) {
- String alphabet = "abcdefghijklmnopqrstuvwxyzabcde";
- String codedWord = "";
- for (int i=0; i<word.length(); i++) {
- int alphaIndex = alphabet.indexOf(word.charAt(i));
- codedWord += String.valueOf(alphabet.charAt(alphaIndex+3));
- }
- return codedWord;
- }
- }
|