Hello java friends, I'm new to the concept of ArrayList and I want to solve this problem in my code.
my main problem:
I don't know how to sort itemA and itemB to appear only once then It will just add the total prices together.
this is the behavior of my code:
C:\Documents and Settings\Drew\Desktop>java ReceiptCode
Enter Company Name
ABC Co
Enter STREET ADDRESS
123 Main Street
Enter CITY, STATE, ZIP
City, State, 123456
How many items did you order?
4
Enter Item Name
itemA
Enter Quantity?
2
Enter Price?
2
Enter Item Name
itemB
Enter Quantity?
1
Enter Price?
4
Enter Item Name
itemA
Enter Quantity?
4
Enter Price?
2
Enter Item Name
itemB
Enter Quantity?
1
Enter Price?
4
ABC Co
123 Main Street
City, State, 123456 10/26/2014
16:29
------------------------------
2 x itemA : 2.0$
------------------------------
1 x itemB : 4.0$
------------------------------
4 x itemA : 2.0$
------------------------------
1 x itemB : 4.0$
------------------------------
I don't know how to sort itemA and itemB to appear only once then It will just add the total prices together.
here is my sourcecode:
import java.util.Scanner;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
class ReceiptCode {
private static final char[] ItemPrice = null;
public static void main(String[] args) {
// TODO Auto-generated method stub
//Font f = new Font("Calibri", Font.BOLD, 20);
@SuppressWarnings("resource")
Scanner scan= new Scanner(System.in);
System.out.println("Enter Company Name");
String companyName= scan.nextLine();
System.out.println("Enter STREET ADDRESS");
String street=scan.nextLine();
System.out.println("Enter CITY, STATE, ZIP");
String CSZ=scan.nextLine();
//System.out.println(companyName + "\n" + street + "\n" + CSZ);
String breaker = "------------------------------";
List <Items> invList = new ArrayList<Items>();
System.out.println("How many items did you order?");
int counter = scan.nextInt();
double totalPrice = 0;
for (int i=0; i<counter; i++)
{
System.out.println("Enter Item Name");
String fName = scan.next();
System.out.println("Enter Quantity?");
int fType = scan.nextInt();
System.out.println("Enter Price?");
double fPrice = scan.nextDouble();
Items inv = new Items(fName, fType, fPrice);
double x = (fType * fPrice);
totalPrice += x;
invList.add(inv);
//System.out.println(totalPrice);
}
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
DateFormat timeFormat = new SimpleDateFormat ("HH:mm");
Date date = new Date();
Date time = new Date();
System.out.printf("%-15s %n", companyName);
System.out.printf("%-15s %14s %n",street + "\n" + CSZ,dateFormat.format(date));
System.out.printf("%-15s %n", timeFormat.format(time));
System.out.println(breaker);
for (Items c : invList) {
System.out.println (c.getItemQTY() + " x " + c.getItemName() + " : " + c.getItemPrice() + "$");
System.out.println (breaker);
}
}
}
Items.java
public class Items {
private String ItemName;
private int ItemQTY;
private double ItemPrice;
public Items (String fdType, int fdAmount, double fdPrice)
{
ItemName = fdType;
ItemQTY = fdAmount;
ItemPrice = fdPrice;
}
public String getItemName()
{
return ItemName;
}
public int getItemQTY()
{
return ItemQTY;
}
public double getItemPrice()
{
return ItemPrice;
}
}