Guest User

Untitled

a guest
Oct 7th, 2025
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Random;
  3. import java.util.Scanner;
  4.  
  5. class Lotto642 {
  6. public static void main (String[]args){
  7. Scanner sc = new Scanner(System.in);
  8. System.out.println(" 6/42 LOTTO");
  9. System.out.println("Enter 6 numbers between 1 and 42 (no duplicates):");
  10. int[] winningNumbers = getRandomLotteryNumbers();
  11. int[] userNumbers = getUserInput();
  12. int matches = countMatches(userNumbers, winningNumbers);
  13.  
  14. // --- Show Results ---
  15. System.out.println("\nYour numbers: " + Arrays.toString(userNumbers));
  16. System.out.println("Winning numbers: " + Arrays.toString(winningNumbers));
  17. System.out.println("You matched " + matches + " number(s).");
  18. // --- Switch Case for Prize ---
  19. switch (matches) {
  20. case 6 -> System.out.println("JACKPOT!");
  21. case 3, 4, 5 -> System.out.println("MINOR prize!");
  22. default -> System.out.println("Sorry, no prize. Better luck next time!");
  23. }
  24. }
  25.  
  26. private static int countMatches(int[] userNumbers, int[] winningNumbers) {
  27. int matches = 0;
  28. for (int u : userNumbers) {
  29. for (int w : winningNumbers) {
  30. if (u == w) {
  31. matches++;
  32. }
  33. }
  34. }
  35. return matches;
  36. }
  37.  
  38. private static int[] getRandomLotteryNumbers() {
  39. int[] nums = new int[6];
  40. Random rand = new Random();
  41. int count = 0;
  42. while (count < 6) {
  43. int num = rand.nextInt(42) + 1; // 1-42
  44. boolean duplicate = false;
  45. for (int j = 0; j < count; j++) {
  46. if (nums[j] == num) {
  47. duplicate = true;
  48. break;
  49. }
  50. }
  51. if (!duplicate) {
  52. nums[count] = num;
  53. count++;
  54. }
  55. }
  56. return nums;
  57. }
  58.  
  59. private static int[] getUserInput() {
  60. Scanner sc = new Scanner(System.in);
  61. int[] nums = new int[6];
  62. int i = 0;
  63. while (i < 6) {
  64. System.out.print("Enter number " + (i + 1) + ": ");
  65. int num = sc.nextInt();
  66. if (num < 1 || num > 42) {
  67. System.out.println("Invalid! Number must be between 1 and 42.");
  68. continue; // re-ask
  69. }
  70. boolean duplicate = false;
  71. for (int j = 0; j < i; j++) {
  72. if (nums[j] == num) {
  73. duplicate = true;
  74. break;
  75. }
  76. }
  77. if (duplicate) {
  78. System.out.println("Duplicate number! Try again.");
  79. continue;
  80. }
  81. nums[i] = num;
  82. i++;
  83. }
  84. return nums;
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment