View difference between Paste ID: 7tqTxUNy and wKQu8fHH
SHOW: | | - or go back to the newest paste.
1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package assignment3;
7
import java.util.Scanner;
8
9
/**
10
 * @serial 1924-4561-2045-3250
11
 * @since 27/10/17
12
 * @version 1.0
13
 * @author Callum Cameron
14
 */
15
public class Assignment3 {
16
17
    /**
18
     * @param args the command line arguments
19
     */
20
21
    public static void main(String[] args) {
22
        // Initialize 'runningcost' variable (double)
23
        double runningcost = 0;
24
        // Initialize 'runningcostfamily' variable (double)
25
        double runningcostfamily = 0;
26
        // Initialize 'runningcostadult' variable (double)
27
        double runningcostadult = 0;
28
        // Initialize 'runningcostchild' variable (double)
29
        double runningcostchild = 0;
30
        // Initialize 'runningcostsadult' variable (double)
31
        double runningcostsadult = 0;
32
        // Initialize 'runningcostschild' variable (double)
33
        double runningcostschild = 0;
34
        // Initialize 'loopcost' variable (double)
35
        double loopcost = 0;
36
               // Initialize 'unlimitedfamilycost' variable (double)
37
        double unlimitedfamilycost = 139.95;
38
        // Initialize 'unlimitedadultcost' variable (double)
39
        double unlimitedadultcost = 39.95;
40
        // Initialize 'unlimitedchildcost' variable (double)
41
        double unlimitedchildcost = 29.95;
42
        // Initialize 'singleadultcost' variable (double)
43
        double singleadultcost = 9.95;
44
        // Initialize 'singlechildcost' variable (double)
45
        double singlechildcost = 8.95;
46
        // Initialize 'totaldiscount' variable (double)
47
        double totaldiscount = 0;
48
        // Initialize 'subtotal' variable (double)
49
        double subtotal = 0;
50
        // Initialize 'finalsubtotal' variable (double
51
        double finalsubtotal = 0;
52
        // Initialize 'unlimitedfamily' variable (int)
53
        int unlimitedfamily = 0;
54
        // Initialize 'unlimitedadult' variable (int)
55
        int unlimitedadult = 0;
56
        // Initialize 'unlimitedchild' variable (int)
57
        int unlimitedchild = 0;
58
        // Initialize 'singleadult' variable (int)
59
        int singleadult = 0;
60
        // Initialize 'singlechild' variable (int)
61
        int singlechild = 0;
62
        // Initialize 'input' variable (int)
63
        int input = 0;
64
        // Initialize 'input2' variable (int)
65
        int input2 = 0;
66
        // Initialize 'input3' variable (int)
67
        int input3 = 0;
68
        // Initialize 'unlimitedfamilytally'
69
        int unlimitedfamilytally = 0;
70
        // Initialize 'unlimitedadulttally'
71
        int unlimitedadulttally = 0;
72
        // Initialize 'unlimitedchildtally'
73
        int unlimitedchildtally = 0;
74
        // Initialize 'singleadulttally'
75
        int singleadulttally = 0;
76
        // Initialize 'singlechildtally'
77
        int singlechildtally = 0;
78
        // Initialize 'singlechildtotal'
79
        int singlechildtotal = 0;
80
        // Initialize 'singleadulttotal'
81
        int singleadulttotal = 0;
82
        // Initialize 'unlimitedadulttotal'
83
        int unlimitedadulttotal = 0;
84
        // Initialize 'unlimitedfamilytotal'
85
        int unlimitedfamilytotal = 0;
86
        // Initialize 'unlimitedchildtotal'
87
        int unlimitedchildtotal = 0;
88
        
89
        
90
        
91
         
92
        // Commence do loop
93
      
94
        // Display welcome message
95
        System.out.println("***DISCOUNTS AVAILABLE ON UNLIMITED TICKETS***");
96
        System.out.println("PURCHASES OVER 15 TICKETS - 90 % OFF THE REGULAR PRICE!");  
97
        System.out.println("PURCHASES OVER 40 TICKETS - 85 % OFF THE REGULAR PRICE!");
98
        System.out.println("");
99
        System.out.println("Welcome to ABC theme park's ticket purchasing program");
100
        System.out.println("");
101
        //*****Ticket menu*****
102
        do{ 
103
        // Prompt user for input
104
        System.out.println("Please press 1 for a daily unlimited ride menu, please press 2 for the daily single ride menu.");
105
        // Initialize scanner
106
        Scanner scanner = new Scanner(System.in);
107
        // Get input from user
108
        input = scanner.nextInt();
109
        // Commence while statement
110
       if (input == 1){
111
           // If user inputs '1' display unlimited ride ticket menu
112
            System.out.println("➢ 1) 4 people family pass costs $139.95,\n" +
113
"➢ 2) 13+ years or Adult costs $39.95,\n" +
114
"➢ 3) 4 -12year old’s costs $29.95 and\n" +
115
"➢ 1-3year olds are free. ");}
116
       System.out.println("");
117
       // If user inputs '2' display single ride ticket menu
118
       if (input == 2){
119
            System.out.println ("➢ 1) 13+ years or Adult costs $9.95,\n" +
120
"➢ 2) 4-12year old’s costs $8.95 and\n" +
121
"➢ 1-3year olds are free.");}
122
     // If user inputs any other number display 'Invalid entry'
123
       if (input > 2)
124
           System.out.println ("You have made an invalid selection.");
125
     // Prompt user to enter choice of concession for ticket             }
126
       System.out.println ("Please enter the number corresponding to the ticket(s) you wish to purchase");
127
     // Initialize next scanner
128
       Scanner scanner2 = new Scanner(System.in);
129
     // Send input to variable 'input 2'
130
       input2 = scanner2.nextInt();
131
    
132
//*****Unlimited ride menu*****
133
       
134
       //Display confirmation of option and current total
135
       if (input ==1 && input2 == 1){  
136
           System.out.println ("");
137
           System.out.println ("You have chosen the unlimited ride 4 person family pass. How many tickets would you like to purchase?");
138
       // Initialize next scanner
139
              Scanner sc = new Scanner(System.in);
140
       // Receive integer as multiple numbers on the same line
141
        int[] numbers = new int[1];
142
        for(int i = 0; i < 1; ++i) {
143
       // Receive next user input at variable unlimitedfamily  
144
            unlimitedfamily = sc.nextInt();
145
       // Set numbers integer (local) to be equal to unlimitedfamily integer
146
            numbers[i] = unlimitedfamily;
147
       // Calculate the total cost of the tickets
148
            runningcostfamily = unlimitedfamilycost * numbers[i];}
149
       // Print the total cost of the tickets on the sceen
150
            System.out.println ("");
151
            System.out.println ("The total cost of the unlimited family ticket(s) is $"+runningcostfamily); 
152
              finalsubtotal = runningcostfamily + finalsubtotal; 
153
              unlimitedfamilytally = unlimitedfamilytally + unlimitedfamily;}
154
              
155
       //Commence menu iteration based on user input1
156
       if (input ==1 && input2 == 2){
157
       //Display confirmation of option and current total
158
           System.out.println ("");
159
           System.out.println ("You have chosen the unlimited ride adult ticket(s) How many tickets would you like to purchase?");
160
       // Initialize next scanner
161
              Scanner sc = new Scanner(System.in);
162
       // Receive integer as multiple numbers on the same line
163
        int[] numbers = new int[1];
164
        for(int i = 0; i < 1; ++i) {
165
       // Receive next user input at variable unlimitedadult
166
            unlimitedadult = sc.nextInt();
167
       // Set numbers integer (local) to be equal to unlimitedadult integer
168
            numbers[i] = unlimitedadult;
169
       // Calculate the total cost of the tickets
170
            runningcostadult = unlimitedadultcost * numbers[i];
171
       // Print the total cost of the tickets on the sceen
172
            System.out.println ("");
173
            System.out.println ("The total cost of the unlimited adult ticket(s) is $"+runningcostadult);
174
         finalsubtotal = runningcostadult + finalsubtotal;
175
         unlimitedadulttally = unlimitedadulttally + unlimitedadult;}}
176
       
177
        //Commence menu iteration based on user input1
178
       if (input ==1 && input2 == 2){
179
       //Display confirmation of option and current total
180
           System.out.println ("");
181
           System.out.println ("You have chosen the unlimited ride adult ticket(s) How many tickets would you like to purchase?");
182
       // Initialize next scanner
183
              Scanner sc = new Scanner(System.in);
184
       // Receive integer as multiple numbers on the same line
185
        int[] numbers = new int[1];
186
        for(int i = 0; i < 1; ++i) {
187
       // Receive next user input at variable unlimitedadult
188
            unlimitedchild = sc.nextInt();
189
       // Set numbers integer (local) to be equal to unlimitedadult integer
190
            numbers[i] = unlimitedchild;
191
       // Calculate the total cost of the tickets
192
            runningcostchild = unlimitedchildcost * numbers[i];
193
       // Print the total cost of the tickets on the sceen
194
            System.out.println ("");
195
            System.out.println ("The total cost of the unlimited adult ticket(s) is $"+runningcostadult);
196
                    ;
197
         finalsubtotal = runningcostchild + finalsubtotal;
198
         unlimitedchildtally = unlimitedchildtally + unlimitedchild;}}
199
       
200
      //*****Daily single ride menu*****
201
      
202
//Commence menu iteration based on user input
203
       if (input ==2 && input2 ==1){   
204
      //Display confirmation of option and current total
205
           System.out.println ("");
206
           System.out.println ("You have chosen the daily single ride adult ticket. How many tickets would you like to purchase?");
207
      // Initialize next scanner
208
              Scanner sc = new Scanner(System.in);
209
      // Receive integer as multiple numbers on the same line
210
        int[] numbers = new int[1];  
211
        for(int i = 0; i < 1; ++i) {
212
      // Receive next user input at variable singleadult
213
            singleadult = sc.nextInt();
214
      // Set numbers integer (local) to be equal to singleadult integer
215
            numbers[i] = singleadult;
216
      // Calculate the total cost of the tickets
217
            runningcostsadult = singleadultcost * numbers[i];
218
      // Print the total cost of the tickets on the sceen
219
            System.out.println ("The total cost of the ticket(s) is $"+runningcostsadult);          
220
        finalsubtotal = runningcostsadult + finalsubtotal;
221
        singleadulttally = singleadulttally + singleadult;}
222
        
223
        
224
       }
225
      //Commence menu iteration based on user input
226
           if (input ==2 && input2 ==2){
227
      //Display confirmation of option and current total
228
               System.out.println ("");
229
               System.out.println ("You have chosen the daily single ride child ticket. How many tickets would you like to purchase?");
230
      // Initialize next scanner
231
              Scanner sc = new Scanner(System.in);
232
      // Receive integer as multiple numbers on the same line
233
        int[] numbers = new int[1];
234
        for(int i = 0; i < 1; ++i) {
235
      // Receive next user input at variable singlechild
236
            singlechild = sc.nextInt();
237
      // Set numbers integer (local) to be equal to singlechild integer
238
            numbers[i] = singlechild;
239
      // Calculate the total cost of the tickets
240
            runningcostschild = singlechildcost * numbers[i];
241
      // Print the total cost of the tickets on the sceen
242
            System.out.println ("");
243
            System.out.println ("The total cost of these ticket(s) is $"+runningcostschild);
244
            finalsubtotal = runningcostschild+ finalsubtotal;}
245
            singlechildtally = singlechildtally + singlechild;
246
       }    
247
           
248
      //Display confirmation of option and current total
249
           if (input2 > 3){
250
           System.out.println ("");
251
           
252
           System.out.println ("Invalid entry");}
253
           
254
      //*****Final menu*****
255
           
256
// Prompt the user for input, if 1 return to main menu, if 0 stop and display total
257
subtotal = runningcostchild + runningcostadult + runningcostfamily + runningcostschild + runningcostsadult;
258
259
loopcost = loopcost + finalsubtotal;
260
System.out.println ("Your current sub total is $" +finalsubtotal);
261
System.out.println ("");
262
System.out.println ("Press 1 to return to the main menu or press 0 to stop purchasing tickets and display the total");
263
       // Initialize next scanner
264
        Scanner scanner4 = new Scanner(System.in);
265
       // Send input to variable 'input 2'
266
        input3 = scanner4.nextInt();     
267
       // Define variables before loop repeats
268
        
269
        
270
       // Returns the user to the ticket menu as long as the input is 1
271
        
272
        
273
        
274
       // Commence while loop
275
        }while(input3 != 0);
276
       
277
       // Checks for invalid inputs
278
        if (input3 >1){
279
       // Displays an error message if an invalid input is entered
280
        System.out.println ("You have made an invalid selection.");}
281
       // Enter if loop to calculate cost for purchases over 15 tickets
282
            if (unlimitedchildtally + unlimitedadulttally + unlimitedfamilytally > 15 && unlimitedchildtally + unlimitedadulttally + unlimitedfamilytally < 40) {                
283
                   totaldiscount = finalsubtotal * 0.9;
284
        System.out.println ("You are eligible for a 90% discount!");
285
        System.out.println ("Your final total is $"+totaldiscount); }
286
       // Enter if loop to calculate cost for purchases over 40 tickets  
287
            if (unlimitedfamilytally + unlimitedchildtally + unlimitedadulttally > 40) {
288
                   totaldiscount = finalsubtotal * 0.85;
289
                   System.out.println ("You are eligible for an 85% discount!"); 
290
                   System.out.println ("Your final total is $"+totaldiscount);}
291
         
292
       // End if loop and display raw cost if less than 15 tickets    
293
          if (unlimitedfamilytally + unlimitedchildtally + unlimitedadulttally < 15){
294
                    totaldiscount = finalsubtotal;
295
                    System.out.println ("Your final total is $"+totaldiscount);}
296
         
297
                    
298
                    
299
       // Display total cost of tickets
300
        
301
       // Display thankyou message
302
       
303
    
304
        {
305
    }
306
}