kalinikov

02. Memory View

Nov 29th, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4.  
  5. public class MemoryView {
  6. public static void main(String[] args) {
  7. Scanner scanner = new Scanner(System.in);
  8.  
  9. List<Integer> numbers = new ArrayList<>();
  10. List<Integer> charsAsNumbers = new ArrayList<>();
  11.  
  12.  
  13. String input = scanner.nextLine();
  14.  
  15. while (!input.equals("Visual Studio crash")) {
  16. String[] lineOfNumbers = input.split("\\s+");
  17. for (int i = 0; i < lineOfNumbers.length; i++) {
  18. numbers.add(Integer.parseInt(lineOfNumbers[i]));
  19. }
  20.  
  21. input = scanner.nextLine();
  22. }
  23.  
  24. for (int i = 0; i < numbers.size() - 6; i++) {
  25. if (numbers.get(i) == 32656 && numbers.get(i + 1) == 19759 && numbers.get(i + 2) == 32763) {
  26. int stringLength = numbers.get(i + 4);
  27. for (int j = 0; j < stringLength; j++) {
  28. if (i + 6 + stringLength < numbers.size()) {
  29. charsAsNumbers.add(numbers.get(i + 6 + j));
  30. }
  31.  
  32. }
  33. for (Integer charsAsNumber : charsAsNumbers) {
  34. int charASCII = charsAsNumber;
  35. char character = (char) charASCII;
  36. System.out.print(character);
  37. }
  38. System.out.println();
  39. charsAsNumbers = new ArrayList<>();
  40. i += 6 + stringLength;
  41. }
  42. }
  43. }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment