Advertisement
desislava_topuzakova

Untitled

Jul 24th, 2022
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. package JavaProgramingFundamentals.RegularExpressions.Exercise;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.Scanner;
  6. import java.util.regex.Matcher;
  7. import java.util.regex.Pattern;
  8. import java.util.stream.Collectors;
  9.  
  10. public class P05NetherRealms {
  11. public static void main(String[] args) {
  12. Scanner scanner = new Scanner(System.in);
  13.  
  14. List<String> demonNames = Arrays.stream(scanner.nextLine().split("\\s*,\\s*")).collect(Collectors.toList());
  15.  
  16. Pattern patternHealth = Pattern.compile("[^0-9+\\-*\\/.]");
  17. Pattern patternDamage = Pattern.compile("\\-?\\+?[0-9]+[\\.]?[0-9]*");
  18.  
  19. for (String demon : demonNames) {
  20. Matcher matcherHealth = patternHealth.matcher(demon);
  21. int health = 0;
  22. while (matcherHealth.find()){
  23. char symbol = matcherHealth.group().charAt(0);
  24. health += symbol;
  25. }
  26.  
  27. Matcher matcherDamage = patternDamage.matcher(demon);
  28. double damage = 0.0;
  29. while (matcherDamage.find()){
  30. damage += Double.parseDouble(matcherDamage.group());
  31. }
  32. for (char symbol : demon.toCharArray()) {
  33. if(symbol == '/'){
  34. damage /= 2;
  35. }else if (symbol == '*'){
  36. damage *= 2;
  37. }
  38. }
  39. System.out.printf("%s - %d health, %.2f damage%n",demon,health,damage);
  40. }
  41.  
  42.  
  43.  
  44.  
  45. }
  46. }
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement