Advertisement
SPDG57

Username - String Manipulation

Nov 30th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.47 KB | None | 0 0
  1. package com.company;
  2.  
  3. import javafx.util.Pair;
  4.  
  5. import javax.xml.crypto.dsig.keyinfo.KeyValue;
  6. import java.security.KeyStore;
  7. import java.text.Collator;
  8. import java.text.DecimalFormat;
  9. import java.util.*;
  10. import java.util.function.Predicate;
  11. import java.util.regex.Matcher;
  12. import java.util.regex.Pattern;
  13. import java.util.stream.Collector;
  14. import java.util.stream.Collectors;
  15.  
  16.  
  17. public class Main {
  18.  
  19.     public static String replaceCase(StringBuilder builder, String command){
  20.         String result = "";
  21.         if (command.equals("lower")){
  22.             result = builder.toString().toLowerCase();
  23.         } else if(command.equals("upper")){
  24.             result = builder.toString().toUpperCase();
  25.         }
  26.         System.out.println(result);
  27.         return result;
  28.     }
  29.  
  30.     public static void printReversed(String username, int startIndex, int endIndex){
  31.         String substring = username.substring(startIndex, endIndex);
  32.         StringBuilder reverseSubstring = new StringBuilder("");
  33.         for (int i = substring.length() - 1; i >= 0; i--) {
  34.             reverseSubstring.append(substring.charAt(i));
  35.         }
  36.         System.out.println(reverseSubstring.toString());
  37.     }
  38.  
  39.     public static void main(String[] args) {
  40.         Scanner scanner = new Scanner(System.in);
  41.  
  42.         String username = scanner.nextLine();
  43.         StringBuilder builder = new StringBuilder(username);
  44.  
  45.         String input = "";
  46.         while(!"Sign up".equals(input = scanner.nextLine())){
  47.             String[] tokens = input.split(" ");
  48.             String command = tokens[0];
  49.  
  50.             switch (command){
  51.                 case "Case":
  52.                     String cmd = tokens[1];
  53.                     builder = new StringBuilder(replaceCase(builder, cmd));
  54.                     break;
  55.                 case "Reverse":
  56.                     int startIndex = Integer.parseInt(tokens[1]);
  57.                     int endIndex = Integer.parseInt(tokens[2]) + 1;
  58.                     if((startIndex >= 0 && startIndex < builder.length())
  59.                             && (endIndex <= builder.length() && endIndex >= 0)){
  60.                         printReversed(builder.toString(), startIndex, endIndex);
  61.                     }
  62.                     break;
  63.                 case "Cut":
  64.                     String substr = tokens[1];
  65.                     if(builder.toString().contains(substr)){
  66.                         builder = new StringBuilder(builder.toString().replace(substr, ""));
  67.                         System.out.println(builder.toString());
  68.                     }else{
  69.                         System.out.printf("The word %s doesn't contain %s.\n", builder.toString(), substr);
  70.                     }
  71.                     break;
  72.                 case "Replace":
  73.                     String character = tokens[1] + "";
  74.                     if(builder.toString().contains(character)) {
  75.                         builder = new StringBuilder(builder.toString().replace(character, "*"));
  76.                     }
  77.                     System.out.println(builder.toString());
  78.                     break;
  79.                 case "Check":
  80.                     String validChar = tokens[1] + "";
  81.                     if(builder.toString().contains(validChar)) {
  82.                         System.out.println("Valid");
  83.                     }else {
  84.                         System.out.println("Your username must contain " + validChar + ".");
  85.                     }
  86.                     break;
  87.             }
  88.         }
  89.     }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement