Advertisement
petur_stoqnov

Warrior's Quest

Mar 4th, 2020
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class WarriorQuest {
  4.  
  5. private static String replaceLetter(String letter, String skill, int index) {
  6. char newLetter = letter.charAt(0);
  7. StringBuilder result = new StringBuilder();
  8. for (int i = 0; i < skill.length(); i++) {
  9. if (index == i) {
  10. result.append(newLetter);
  11. i++;
  12. }
  13. result.append(skill.charAt(i));
  14. }
  15. return result.toString();
  16. }
  17.  
  18. private static String subtract(String skill, String substring, String secondSubtracting) {
  19. if (skill.contains(substring)) {
  20. skill = skill.replace(substring, secondSubtracting);
  21. }
  22. return skill;
  23. }
  24.  
  25. private static String remove(String skill, String subtracting) {
  26. if (skill.contains(subtracting)) {
  27. skill = skill.replace(subtracting, "");
  28. }
  29. return skill;
  30. }
  31.  
  32. public static void main(String[] args) {
  33. Scanner sc = new Scanner(System.in);
  34. String skill = sc.nextLine();
  35.  
  36. String input = sc.nextLine();
  37. while (!input.equals("For Azeroth")) {
  38. String[] command = input.split("\\s+");
  39. switch (command[0]) {
  40. case "GladiatorStance": {
  41. skill = skill.toUpperCase();
  42. System.out.println(skill);
  43. }
  44. break;
  45. case "DefensiveStance": {
  46. skill = skill.toLowerCase();
  47. System.out.println(skill);
  48. }
  49. break;
  50. case "Dispel": {
  51. int index = Integer.parseInt(command[1]);
  52. String letter = command[2];
  53. if (index >= 0 && index < skill.length()) {
  54. skill = replaceLetter(letter, skill, index);
  55. System.out.println("Success!");
  56. } else {
  57. System.out.println("Dispel too weak.");
  58. }
  59. }
  60. break;
  61. case "Target": {
  62. if (command[1].equalsIgnoreCase("Change")) {
  63. String substring = command[2];
  64. String secondSubtracting = command[3];
  65. skill = subtract(skill, substring, secondSubtracting);
  66. System.out.println(skill);
  67. } else if (command[1].equalsIgnoreCase("Remove")) {
  68. String subtracting = command[2];
  69. skill = remove(skill, subtracting);
  70. System.out.println(skill);
  71. }
  72. }
  73. break;
  74. default:
  75. System.out.println("Command doesn't exist!");
  76. break;
  77. }
  78. input = sc.nextLine();
  79. }
  80.  
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement