Advertisement
weiqian1020

4

Jun 15th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.05 KB | None | 0 0
  1. package assignment;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Scanner;
  5.  
  6. public class core{
  7.     private static Scanner input;
  8.     private String account;
  9.     private ArrayList<String> username = new ArrayList<String>();
  10.     private ArrayList<String> password = new ArrayList<String>();
  11.     private ArrayList<String> userOrder = new ArrayList<String>();
  12.     private ArrayList<String> shipStatus = new ArrayList<String>();
  13.     private ArrayList<String> orderStatus = new ArrayList<String>();
  14.     private ArrayList<Integer> item1 = new ArrayList<Integer>();
  15.     private ArrayList<Integer> item2 = new ArrayList<Integer>();
  16.     private ArrayList<Integer> item3 = new ArrayList<Integer>();
  17.    
  18.     public static void main(String[] args) {
  19.         int x = 0;
  20.         boolean bool = true;
  21.         core run = new core();
  22.         //run.readDat();
  23.         input = new Scanner(System.in);
  24.         do{
  25.             switch (x) {
  26.            
  27.             case 0:
  28.                 x = mainMenu();
  29.                 break;
  30.             case 1:
  31.                 x = run.admin();
  32.                 break;
  33.             case 2:
  34.                 x = run.user();
  35.                 break;
  36.             case 3:
  37.                 x = run.userLogin();
  38.                 break;
  39.             case 4:
  40.                 x = run.userReg();
  41.                 break;
  42.             case 5:
  43.                 x = run.userMenu();
  44.                 break;
  45.             case 6:
  46.                 x = run.userShop();
  47.                 break;
  48.             case 7:
  49.                 run.userStatus();
  50.                 bool = false;
  51.                 break;
  52.             default:
  53.                 bool = false;
  54.                 System.out.println(x);
  55.                 break;
  56.             }
  57.         } while (bool);
  58.     }
  59.    
  60.     private static int mainMenu(){
  61.         System.out.println("Welcome to FreeStyler Online Apparels");
  62.         System.out.println("Login As:\n(1)Admin\n(2)User");
  63.         boolean bool = true;
  64.         String n;
  65.         do {
  66.             try{
  67.                 n = input.nextLine();
  68.             } catch (Exception e) {
  69.                 System.out.println("Invalid input, " + e);
  70.                 System.out.println("Login As:\n(1)Admin\n(2)User");
  71.                 continue;
  72.             }
  73.             if (n.equals("1")){
  74.                 bool = false;
  75.                 return 1;
  76.             }
  77.             else if (n.equals("2")){
  78.                 bool = false;
  79.                 return 2;
  80.             }
  81.             else {
  82.                 System.out.println("Invalid input, please try again");
  83.                 System.out.println("Login As:\n(1)Admin\n(2)User");
  84.                 continue;
  85.             }
  86.         }while(bool);
  87.         return 0;
  88.     }
  89.     private int admin(){
  90.         boolean bool = true;
  91.         String user, pass = null;
  92.         do {
  93.             System.out.println("-1 to back");
  94.             System.out.print("Username: ");
  95.             try {
  96.                 user = input.nextLine();
  97.             } catch (Exception e){
  98.                 System.out.println("Error: " + e);
  99.                 continue;
  100.             }
  101.             if (backtrack(user)){
  102.                 bool = false;
  103.                 return 0;
  104.             }
  105.             System.out.print("Password: ");
  106.             try{
  107.                 pass = input.nextLine();
  108.             } catch (Exception e){
  109.                 System.out.println("Error: " + e);
  110.             }
  111.            
  112.             if (backtrack(pass)){
  113.                 bool = false;
  114.                 return 0;
  115.             }
  116.             else if (user.equals("admin") && pass.equals("admin")){
  117.                 System.out.println("Login Successfully");
  118.                 bool = false;
  119.                 return 10;
  120.             }
  121.             else {
  122.                 System.out.println("Invalid username or password");
  123.             }
  124.         }while (bool);
  125.         return 0;
  126.     }
  127.    
  128.     private int user(){
  129.         String x;
  130.        
  131.         boolean bool;
  132.         do {
  133.             bool = false;
  134.             System.out.println("-1 to back");
  135.             System.out.println("(1)Login\n(2)Register");
  136.             try{
  137.                 x = input.nextLine();
  138.             }
  139.             catch (Exception e){
  140.                 System.out.println("Invalid input, " + e);
  141.                 continue;
  142.             }
  143.            
  144.             if (x.equals("1")){
  145.                 return 3;
  146.             }
  147.             else if (x.equals("2")){
  148.                 return 4;
  149.             }
  150.             else if (x.equals("-1")){
  151.                 return 0;
  152.             }
  153.             else {
  154.                 System.out.println("Invalid input, please try again");
  155.                 bool = true;
  156.                 continue;
  157.             }
  158.         }while(bool);
  159.         return 0;
  160.     }
  161.    
  162.     private int userLogin(){
  163.         boolean bool = true;
  164.         String user, pass = null;
  165.         loadDat();
  166.         do{
  167.             System.out.println("-1 to back");
  168.             System.out.print("Username: ");
  169.             try {
  170.                 user = input.nextLine();
  171.             } catch (Exception e){
  172.                 System.out.println("Error: " + e);
  173.                 continue;
  174.             }
  175.             if (backtrack(user)){
  176.                 bool = false;
  177.                 return 2;
  178.             }
  179.             System.out.print("Password: ");
  180.             try{
  181.                 pass = input.nextLine();
  182.             } catch (Exception e){
  183.                 System.out.println("Error: " + e);
  184.             }
  185.             if (backtrack(pass)){
  186.                 bool = false;
  187.                 return 2;
  188.             }
  189.             else {
  190.                 for (int i = 0; i < this.username.size(); i++) {
  191.                     if (user.equals(this.username.get(i)) && pass.equals(this.password.get(i))){
  192.                         System.out.println("Login Successfully");
  193.                         System.out.println();
  194.                         bool = false;
  195.                         account = this.username.get(i);
  196.                         return 5;
  197.                     }
  198.                 }
  199.                 System.out.println("Invalid username or password");
  200.             }  
  201.         }while(bool);
  202.         return 0;
  203.     }
  204.    
  205.     private int userReg(){
  206.         String user, pass;
  207.         boolean bool = true;
  208.         boolean bool2 = false;
  209.         boolean taken;
  210.         loadDat();
  211.         System.out.println("-1 to back");
  212.         System.out.println("Register as");
  213.        
  214.         do{
  215.             taken = false;
  216.             System.out.print("Username: ");
  217.             user = input.nextLine();
  218.             if (backtrack(user)){
  219.                 return 2;
  220.             }
  221.            
  222.             for (int i = 0; i < this.username.size(); i++) {
  223.                 if (user.equals(this.username.get(i))){
  224.                     System.out.println("Username taken, please take different username");
  225.                     taken = true;
  226.                     continue;
  227.                 }
  228.             }
  229.            
  230.             if (taken){
  231.                 continue;
  232.             }
  233.            
  234.             else if(user.contains(" ")){
  235.                 System.out.println("Username or password cannot contain space");
  236.                 continue;
  237.             }
  238.            
  239.             else {
  240.                 do {
  241.                     bool2 = false;
  242.                     System.out.print("Password: ");
  243.                     pass = input.nextLine();
  244.                     if (backtrack(pass)){
  245.                         return 2;
  246.                     }
  247.                     else if (pass.contains(" ")){
  248.                         System.out.println("Username or password cannot contain space");
  249.                         bool2 = true;
  250.                         continue;
  251.                     }
  252.                     else {
  253.                         addDat(user, pass);
  254.                         System.out.println("Account created successfully");
  255.                         bool = false;
  256.                         return 2;
  257.                     }
  258.                 }while(bool2);
  259.             }
  260.         }while(bool);
  261.         return 0;
  262.     }
  263.    
  264.     private int userMenu(){
  265.         boolean bool = true;
  266.         String x = null;
  267.         System.out.println("Welcome back, " + account);
  268.         do{
  269.            
  270.             System.out.println("(1)Shop\n(2)Status\n(3)Log Out");
  271.             try {
  272.                 x = input.nextLine();
  273.             } catch (Exception e) {
  274.                 System.out.println("Invalid input, " + e);
  275.             }
  276.             if (x.equals("1")){
  277.                 bool = false;
  278.                 return 6;
  279.             }
  280.             else if (x.equals("2")){
  281.                 bool = false;
  282.                 return 7;
  283.             }
  284.             else if (x.equals("3")){
  285.                 bool = false;
  286.                 return 0;
  287.             }
  288.             else {
  289.                 System.out.println("Invalid input, please try again");
  290.             }
  291.         }while(bool);
  292.         return 0;
  293.     }
  294.    
  295.     private int userShop(){
  296.         int x = 0;
  297.         int n = 0;
  298.         int item[] = {
  299.             0,
  300.             0,
  301.             0,
  302.         };
  303.         boolean bool, bool2, checkOut;
  304.         do {
  305.             checkOut = true;
  306.             do {
  307.                 bool = false;
  308.                 System.out.println("Item on sale, add order");
  309.                 System.out.println("-1 to back (Clear cart)");
  310.                 System.out.println("(1)Purchase item1\n(2)Purchase item2\n(3)Purchase item3\n(4)View item in cart\n(5)Check Out");
  311.                 System.out.print("Select an option: ");
  312.                 try {
  313.                     x = Integer.parseInt(input.nextLine());
  314.                 }
  315.                 catch (Exception e){
  316.                     System.out.println("Invalid input, " + e);
  317.                     bool = true;
  318.                     continue;
  319.                 }
  320.                 if (backtrack(x)){
  321.                     bool = false;
  322.                     return 5;
  323.                 }
  324.                
  325.                 else if (x <= 0 || x >= 6){
  326.                     System.out.println("Invalid input, please try again\n");
  327.                     bool = true;
  328.                 }
  329.                 else {
  330.                     break;
  331.                 }
  332.             }while(bool);
  333.             if (x > 0 && x < 4){
  334.                 do{
  335.                     bool2 = false;
  336.                     System.out.print("Quantity: ");
  337.                     try {
  338.                         n = Integer.parseInt(input.nextLine());
  339.                     }
  340.                     catch (Exception e){
  341.                         System.out.println("Invalid input, " + e + "\n");
  342.                         bool2 = true;
  343.                         continue;
  344.                     }
  345.                     if(n < 1){
  346.                         System.out.println("Quantity cannot less than 0");
  347.                         bool2 = true;
  348.                         continue;
  349.                     }
  350.                     else {
  351.                         System.out.println("item" + x + " (Amount: " + n + ") added to cart" );
  352.                         System.out.println();
  353.                     }
  354.                 }while(bool2);
  355.                 item[x - 1] += n;
  356.             }
  357.             else if (x == 4){
  358.                 System.out.println();
  359.                 for (int i = 0; i <= 2; i++) {
  360.                    
  361.                     System.out.println("item" + (i + 1) + " (Amount: " + item[i] + ")");
  362.                    
  363.                 }
  364.                 System.out.println("Press Enter to continue");
  365.                 input.nextLine();
  366.                 System.out.println();
  367.                 continue;
  368.             }
  369.             else if (x == 5){
  370.                 checkOut = false;
  371.                 addOrder(account, "pending", "pending", item[0], item[1], item[2]);
  372.                 loadOrder();
  373.                 System.out.println("Thank you for purchasing from FreeStyler Online Aparrels, your order number is Order #" + (userOrder.size() - 1));
  374.                 System.out.println();
  375.             }
  376.         }while(checkOut);
  377.         return 5;
  378.     }
  379.    
  380.     private int userStatus(){
  381.         loadOrder();
  382.         for (int i = 0; i < this.userOrder.size(); i++) {
  383.             if (this.userOrder.get(i).equals(account)){
  384.                 System.out.println("Order #" + i);
  385.                 System.out.println("item1 x " + item1.get(i));
  386.                 System.out.println("item2 x " + item2.get(i));
  387.                 System.out.println("item3 x " + item2.get(i));
  388.                 System.out.println("Order confirm: " + orderStatus.get(i));
  389.                 System.out.println("Shipping confirm: " + shipStatus.get(i));
  390.                 System.out.println();
  391.             }
  392.         }
  393.         return 0;
  394.     }
  395.    
  396.     private void loadDat(){
  397.         readWrite read = new readWrite();
  398.         read.openWrite("login.txt");
  399.         read.openRead("login.txt");
  400.         read.readDat();
  401.         username.clear();
  402.         password.clear();
  403.         for (int i = 0; i < read.user.size(); i++) {
  404.             this.username.add(read.user.get(i));
  405.             this.password.add(read.pass.get(i));
  406.         }
  407.         read.closeRead();
  408.     }
  409.    
  410.    
  411.     private void addDat(String user, String pass){
  412.         readWrite write = new readWrite();
  413.         write.openWrite("login.txt");
  414.         write.openRead("login.txt");
  415.         write.readDat();
  416.         write.closeRead();
  417.         write.user.add(user);
  418.         write.pass.add(pass);
  419.         write.openWrite("login.txt");
  420.         write.writeDat();
  421.         write.closeWrite();
  422.     }
  423.    
  424.     private void loadOrder(){
  425.         readWrite readOrder = new readWrite();
  426.         readOrder.openWrite("order.txt");
  427.         readOrder.openRead("order.txt");
  428.         readOrder.readStatus();
  429.         userOrder.clear();
  430.         orderStatus.clear();
  431.         shipStatus.clear();
  432.         item1.clear();
  433.         item2.clear();
  434.         item3.clear();
  435.         for (int i = 0; i < readOrder.userOrder.size(); i++) {
  436.             this.userOrder.add(readOrder.userOrder.get(i));
  437.             this.orderStatus.add(readOrder.orderStatus.get(i));
  438.             this.shipStatus.add(readOrder.shipStatus.get(i));
  439.             this.item1.add(readOrder.item1.get(i));
  440.             this.item2.add(readOrder.item2.get(i));
  441.             this.item3.add(readOrder.item3.get(i));
  442.         }
  443.     }
  444.    
  445.     private void addOrder(String user, String order, String ship, int item1, int item2, int item3){
  446.         readWrite write = new readWrite();
  447.         write.openWrite("order.txt");
  448.         write.openRead("order.txt");
  449.         write.readStatus();
  450.         write.closeRead();
  451.         write.userOrder.add(user);
  452.         write.orderStatus.add(order);
  453.         write.shipStatus.add(ship);
  454.         write.item1.add(item1);
  455.         write.item2.add(item2);
  456.         write.item3.add(item3);
  457.         write.openWrite("order.txt");
  458.         write.writeOrder();
  459.         write.closeWrite();
  460.     }
  461.    
  462.     private boolean backtrack(String back){
  463.         if (back.equals("-1")){
  464.             return true;
  465.         }
  466.         else {
  467.             return false;
  468.         }
  469.     }
  470.    
  471.     private boolean backtrack(int back){
  472.         if (back == -1){
  473.             return true;
  474.         }
  475.         else {
  476.             return false;
  477.         }
  478.     }
  479. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement