I have an assignment for uni where I have to create a Java program that produces a random pairing customers and their transaction totals.
It comes in two parts where the first part produces the customers and their transactions like so:
Customer ID, Transaction Value
1, 74.36
1, 44.98
3, 6.44
0, 19.13
3, 59.44
2, 81.56
0, 87.21
4, 40.9
1, 42.11
3, 66.05
the second summarises the total number of transactions for each customer like so:
Customer: 1 Transactions: 3.0
Customer: 1 Transactions: 3.0
Customer: 3 Transactions: 3.0
Customer: 0 Transactions: 2.0
Customer: 3 Transactions: 3.0
Customer: 2 Transactions: 1.0
Customer: 0 Transactions: 2.0
Customer: 4 Transactions: 1.0
Customer: 1 Transactions: 3.0
Customer: 3 Transactions: 3.0
My problem is the second section should only produce each customer ID once i.e 1,3,0,2,4. I can only do this using int and double variables and without creating any other arrays or structures. My code can be found below.
import java.util.*;
public class Assignment3 {
public static long studentNumber=1234567;
public static int customerID[];
public static double transactionValue[];
public static void initialiseData(int size) {
customerID = new int[size];
transactionValue = new double[size];
Random rand = new Random(studentNumber);
for (int i=0; i<size; i++) {
customerID[i] = rand.nextInt(size / 2);
transactionValue[i] = rand.nextInt(10000) / 100.0;
}
}
public static void main(String args[]) {
int size=10;
initialiseData(size);
// Your code should only be below this line
double transaction = 0;
int customer = 0;
int customer_Total = 0;
int count = 0;
int customer_count = 0;
double transaction_Total = 0;
System.out.println("Customer ID, Transaction Value");
for (size= 0; size < customerID.length; size++) {
customer= customerID[size];
transaction= transactionValue[size];
System.out.println(customer + ", " + transaction);
}
System.out.println("");
for(customer_count = 0; customer_count < customerID.length; customer_count++) {
transaction_Total= 0;
customer_Total = customerID[customer_count];
count = customerID[customer_count];
//System.out.println(count);
for (int customer_count2 = 0;
customer_count2 < customerID.length;
customer_count2++) {
if (customer_Total == customerID[customer_count2]) {
transaction_Total++;
//System.out.println(customer_count2);
}
}
System.out.println("Customer: "+ customer_Total + " " +
"Transactions: " + transaction_Total);
}
// Your code should not be below this line
}
}