-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrandomNumInt.java
116 lines (98 loc) · 2.44 KB
/
randomNumInt.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import java.util.Calendar;
import java.util.Scanner;
public class randomNumInt {
static int randomTime;
//DateFactor Function
static int dateFactor()
{
Calendar cal = Calendar.getInstance();
int date = cal.get(Calendar.YEAR) + 10000 * cal.get(Calendar.MONTH) + 1000000 * cal.get(Calendar.DATE) +10000;
return (date*10);
}
//TimeFactor function
static int timeFactor()
{
randomTime = (int)System.currentTimeMillis();
return(randomTime);
}
static int reverseTimeFactor()
{
int reverseTime = randomTime;
int reverse=0;
while(reverseTime != 0)
{
reverse = reverse * 10;
reverse = reverse + reverseTime%10;
reverseTime = reverseTime/10;
}
return (reverse);
}
static int inputMin()
{
@SuppressWarnings("resource")
Scanner ip = new Scanner(System.in);
int inputMin = ip.nextInt();
return(inputMin);
}
static int inputMax()
{
@SuppressWarnings("resource")
Scanner ip = new Scanner(System.in);
int inputMax = ip.nextInt();
return (inputMax);
}
static int rangeDivideOverTen(int randomNum, int min, int max)
{
do
{
randomNum = randomNum / 10;
if (randomNum < min)
while (randomNum <= min)
randomNum += 10;
} while (randomNum > max);
return (randomNum);
}
static int rangeDivideUnderTen(int randomNum, int min, int max)
{
do
{
randomNum = randomNum / 10;
if (randomNum < min)
while (randomNum <= min)
randomNum += 10;
} while (randomNum > max *10);
while (randomNum > max)
randomNum = randomNum - (max - min);
return (randomNum);
}
//Main function begins here
public static void main(String[] args)
{
int randomNum = (timeFactor() - reverseTimeFactor() * dateFactor());
System.out.println("Enter the minimum number");
int min = inputMin() - 1;
System.out.println("Enter the maximum number");
int max = inputMax();
if(min >= 0 && randomNum < 0)
randomNum = randomNum * (-1);
if (min+1 == max)
{
System.out.println("Invalid Range.");
System.exit(0);
}
if (min > max)
{
System.out.println("Minimum number must not be greater than maximum number");
System.exit(0);
}
if (max > 10)
{
randomNum = rangeDivideOverTen(randomNum, min, max);
}
else
{
randomNum = rangeDivideUnderTen(randomNum, min, max);
}
System.out.println(randomNum);
}
}