C:\Users\notebook\Documents\NetBeansProjects\CS2\src\review\NumberClassification.java |
1
2
3
4
5
6
7
8
9 package review;
10
11 import java.util.ArrayList;
12 import java.util.List;
13 import java.util.Random;
14 import java.util.Scanner;
15
16
17
18 @author
19
20 public class NumberClassification {
21
22
23 @param args
24
25 public static void main(String[] args) {
26 System.out.println("The numbers ...");
27 Random random = new Random();
28 ArrayList<Integer[]> numbers = new ArrayList<>();
29 int x = 1;
30 while (x <= 25) {
31 int rgen = random.nextInt(999);
32 if (rgen >= 100) {
33 System.out.print(rgen + " ");
34 String numberToString = String.valueOf(rgen);
35 String numberArray[] = numberToString.split("");
36 Integer digits[] = new Integer[3];
37 digits[0] = Integer.parseInt(numberArray[0]);
38 digits[1] = Integer.parseInt(numberArray[1]);
39 digits[2] = Integer.parseInt(numberArray[2]);
40 numbers.add(digits);
41 x++;
42 }
43 }
44 theOddNumbers(numbers);
45 theMonotonicNumbers(numbers);
46 twoDistinctDigits(numbers);
47 sortNumbers(numbers);
48 }
49
50 private static void theOddNumbers(ArrayList<Integer[]> numbers) {
51 System.out.println("\nThe odd numbers ...");
52 for (int x = 0; x < numbers.size(); x = x + 1) {
53 if (odd(numbers.get(x)[2])) {
54 System.out.print(numbers.get(x)[0] + "" + numbers.get(x)[1] + "" + numbers.get(x)[2] + " ");
55 }
56 }
57 }
58
59 private static void theMonotonicNumbers(ArrayList<Integer[]> numbers) {
60 System.out.println("\nThe strictly monotonic numbers ...");
61 for (int x = 0; x < numbers.size(); x = x + 1) {
62 if (monotonic(numbers.get(x))) {
63 System.out.print(numbers.get(x)[0] + "" + numbers.get(x)[1] + "" + numbers.get(x)[2] + " ");
64 }
65 }
66 }
67
68 private static void twoDistinctDigits(ArrayList<Integer[]> numbers) {
69 System.out.println("\nThe pairs ...");
70 for (int x = 0; x < numbers.size(); x = x + 1) {
71 if (pair(numbers.get(x))) {
72 System.out.print(numbers.get(x)[0] + "" + numbers.get(x)[1] + "" + numbers.get(x)[2] + " ");
73 }
74 }
75 }
76
77 private static void sortNumbers(ArrayList<Integer[]> numbers) {
78 System.out.println("\nThe numbers by digit Sum ...");
79 for (int a = 0; a < numbers.size(); a = a + 1) {
80 for (int x = a + 1; x < numbers.size(); x = x + 1) {
81 if ((numbers.get(a)[0] + numbers.get(a)[1] + numbers.get(a)[2]) > (numbers.get(x)[0] + numbers.get(x)[1] + numbers.get(x)[2])) {
82 Integer[] temp = numbers.get(a);
83 numbers.set(numbers.indexOf(temp), numbers.get(x));
84 numbers.set(x, temp);
85 }
86 }
87 }
88 System.out.print("{ ");
89 for (int x = 0; x < numbers.size()-1; x = x + 1) {
90 if ((numbers.get(x)[0] + numbers.get(x)[1] + numbers.get(x)[2]) == (numbers.get(x+1)[0] + numbers.get(x+1)[1] + numbers.get(x+1)[2])) {
91 System.out.print(numbers.get(x)[0] + "" + numbers.get(x)[1] + "" + numbers.get(x)[2] + " ");
92 } else {
93 System.out.println(numbers.get(x)[0] + "" + numbers.get(x)[1] + "" + numbers.get(x)[2] + " }");
94 System.out.print("{ ");
95 }
96 }
97 System.out.println(numbers.get(numbers.size()-1)[0] + "" + numbers.get(numbers.size()-1)[1] + "" + numbers.get(numbers.size()-1)[2] + " }");
98 }
99
100 private static boolean odd(Integer x) {
101 return (x % 2 == 1);
102 }
103
104 private static boolean monotonic(Integer[] x) {
105 return (x[0] < x[1]) && (x[1] < x[2]) || (x[2] < x[1]) && (x[1] < x[0]);
106 }
107
108 private static boolean pair(Integer[] x) {
109 return (x[0] == x[1]) && (x[0] != x[2]) || (x[1] == x[2]) && (x[0] != x[2]) || (x[0] == x[2]) && (x[1] != x[2]);
110 }
111
112 }
113