View difference between Paste ID: GyLYWG8a and AE66jrCM
SHOW: | | - or go back to the newest paste.
1
/*
2
 * Name:
3
 * Date:
4
 * Course Number:
5
 * Course Name:
6
 * Problem Number:
7
 * Email: 
8
 * Short Description of the Problem
9
 */
10
11
12
import java.util.Scanner;
13
import java.lang.Math;
14
15
16
public class UglyNumberTester {
17
	
18
	
19
	//**********************************************
20
	
21
	private static void input(Scanner sc, String args[]) {
22
		
23
		int x;
24
		int y;
25
		
26
		System.out.print("Enter starting value: ");
27
		x = sc.nextInt();
28
		sc.nextLine();  
29
		System.out.print("Enter end value: ");
30
		y = sc.nextInt();
31
		sc.nextLine();
32
		System.out.println( process(x,y) );
33
		
34
		sc.nextLine();
35
		
36
	}
37
	
38
	private static String process(int x, int y) {
39
		String output = "";
40
		
41
		while ( x <= y ) {
42
			
43
			if ( isUgly(x))
44
			{
45
				output += " " + x; 
46
			}
47
			x++;
48
		}
49
		
50
		return output;
51
	}
52
	
53
	//checks if the number has prime factors of only 5,3 or 2
54
	private static boolean isUgly(int z) {
55
		
56
		while(z % 5 == 0)
57
		{
58
			z /=5;
59
		}
60
		
61
		while(z % 3 == 0)
62
		{
63
			z /=3;
64
		}
65
		
66
		while (z % 2 == 0)
67
		{
68
			z /=2;
69
		}
70
		
71
		
72
		if(z >= 7) 
73
		{
74
			return false;
75
		}
76
		
77
		return true;
78
	}
79
	
80
	//**********************************************
81
	
82
	private static boolean doThisAgain(Scanner sc, String prompt) {
83
		System.out.print(prompt);
84
		String doOver = sc.nextLine();
85
		return doOver.equalsIgnoreCase("Y");
86
	}
87
	
88
	//**********************************************
89
	
90
	public static void main(String args[]) {
91
		final String TITLE = "Ugly Number Tester";
92
		final String CONTINUE_PROMPT = "Do this again? [y/N] ";
93
		
94
		System.out.println("Welcome to " + TITLE);
95
		Scanner sc = new Scanner(System.in);
96
		do {
97
			input(sc, args);
98
		} while (doThisAgain(sc, CONTINUE_PROMPT));
99
		sc.close();
100
		System.out.println("Thank you for using " + TITLE);
101
	}
102
103
}