/home/sjenks/NetBeansProjects/CS2/src/review/CollatzSequence.java |
1
2
3
4
5
6
7
8
9 package review;
10
11 import java.util.Scanner;
12
13
14
15 @author
16
17 public class CollatzSequence {
18
19
20 @param args
21
22 public static void main(String[] args) {
23 int posNumber = getNumber();
24 sequence(posNumber);
25
26 }
27
28 private static int getNumber() {
29 Scanner scanner = new Scanner(System.in);
30 System.out.print("The positive interger? ");
31 int posNumber = scanner.nextInt();
32 return posNumber;
33 }
34
35 private static void sequence(int posNumber) {
36 int i = posNumber;
37 while (i > 1) {
38 for (int x = 0; x < 10 & i >= 1; x = x + 1) {
39 System.out.print(i + " ");
40 if (isEven(i)) {
41 int newNumber = i / 2;
42 i = newNumber;
43 } else if (i == 1) {
44 break;
45 } else {
46 int newNumber = (i * 3) + 1;
47 i = newNumber;
48 }
49 }
50 System.out.println();
51 }
52 }
53
54 private static boolean isEven(int i) {
55 return ((i % 2) == 0);
56
57 }
58
59 }
60