Advertisement
Guest User

Untitled

a guest
Apr 19th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.52 KB | None | 0 0
  1. import java.sql.Statement;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.io.File;
  7. import java.io.FileNotFoundException;
  8. import java.util.Scanner;
  9. import java.util.Date;
  10. import java.text.DateFormat;
  11. import java.text.SimpleDateFormat;
  12. import java.util.Calendar;
  13.  
  14. public class Svoboda_Project_1 {
  15.  
  16.     static Connection getConnection() {
  17.         Connection connection = null;
  18.        
  19.         try {
  20.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  21.             connection = DriverManager.getConnection(
  22.                     "jdbc:mysql://184.154.73.113/davidlno_StockHistory?" +
  23.                             "user=davidlno_student&password=ez24get!");
  24.         } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
  25.             e.printStackTrace();
  26.         } catch (SQLException e) {
  27.             System.out.println("SQLException: " + e.getMessage());
  28.             System.out.println("SQLState: " + e.getSQLState());
  29.             System.out.println("VenderError: " + e.getErrorCode());
  30.         }
  31.        
  32.         return connection;
  33.     }
  34.    
  35.     static void getAllTickers() {
  36.         Connection connection = getConnection();
  37.         String query = "select ticker from TickerHistory group by ticker order by ticker";
  38.        
  39.         try {
  40.             Statement statement = connection.createStatement();
  41.             ResultSet rs = statement.executeQuery(query);
  42.            
  43.             while(rs.next()) {
  44.                 String ticker = rs.getString("Ticker");
  45.                 System.out.println(ticker);
  46.             }
  47.            
  48.             rs.close();
  49.             statement.close();
  50.             connection.close();
  51.            
  52.             rs = null;
  53.             statement = null;
  54.             connection = null;
  55.         } catch (SQLException e) {
  56.             System.out.println("SQLException: " + e.getMessage());
  57.             System.out.println("SQLState: " + e.getSQLState());
  58.             System.out.println("VendorError: " + e.getErrorCode());
  59.         }
  60.        
  61.         displayMainMenu();
  62.     }
  63.    
  64.     static void recentDataForTicker() {
  65.        
  66.         System.out.print("\nPlease enter a valid ticker: ");
  67.         Scanner in = new Scanner(System.in);
  68.         String ticker = in.nextLine();
  69.         ticker.toLowerCase();
  70.        
  71.         switch(ticker){
  72.         case "aapl" : break;
  73.         case "amzn" : break;
  74.         case "atvi" : break;
  75.         case "auph" : break;
  76.         case "catb" : break;
  77.         case "csco" : break;
  78.         case "dish" : break;
  79.         case "fb" : break;
  80.         case "fnsr": break;
  81.         case "ftr" : break;
  82.         case "gild" : break;
  83.         case "grpn" : break;
  84.         case "intc" : break;
  85.         case "jblu" : break;
  86.         case "lltc" : break;
  87.         case "mu" : break;
  88.         case "oclr" : break;
  89.         case "sbux" : break;
  90.         case "siri" : break;
  91.         case "spls" : break;
  92.         default: System.out.println("This is not a valid ticker. Please choose from the main menu and start again.\n");
  93.         }
  94.        
  95.         Connection connection = getConnection();
  96.         String query = "select * from TickerHistory where Ticker = '" + ticker + "' order by HistoryDate desc limit 1";
  97.        
  98.         try {
  99.             Statement statement = connection.createStatement();
  100.             ResultSet rs = statement.executeQuery(query);
  101.            
  102.             while(rs.next()) {
  103.                 String tickerName = rs.getString("Ticker");
  104.                 int volume = rs.getInt("Volume");
  105.                 String companyName = rs.getString("CompanyName");
  106.                 String historyDate = rs.getString("HistoryDate");
  107.                 double open = rs.getDouble("OpenPrice");
  108.                 double high = rs.getDouble("HighPrice");
  109.                 double low = rs.getDouble("LowPrice");
  110.                 double close = rs.getDouble("ClosePrice");
  111.                
  112.                 System.out.print(tickerName + "      " + companyName + "    " + "Volume: "); System.out.printf( "%,d\n", volume);
  113.                 System.out.println("          " + "History Date: " + historyDate);
  114.                 System.out.println("          " + "Open:   $" + open);
  115.                 System.out.println("          " + "High:   $" + high);
  116.                 System.out.println("          " + "Low:    $" + low);
  117.                 System.out.println("          " + "Close:  $" + close);
  118.             }
  119.            
  120.             rs.close();
  121.             statement.close();
  122.             connection.close();
  123.            
  124.             rs = null;
  125.             statement = null;
  126.             connection = null;
  127.         } catch (SQLException e) {
  128.             System.out.println("SQLException: " + e.getMessage());
  129.             System.out.println("SQLState: " + e.getSQLState());
  130.             System.out.println("VendorError: " + e.getErrorCode());
  131.         }
  132.        
  133.         displayMainMenu();
  134.     }
  135.  
  136.     static void closePriceForTicker() {
  137.        
  138.         System.out.print("\nPlease enter a valid ticker: ");
  139.         Scanner in = new Scanner(System.in);
  140.         String ticker = in.nextLine();
  141.        
  142.         switch(ticker){
  143.         case "aapl" : break;
  144.         case "amzn" : break;
  145.         case "atvi" : break;
  146.         case "auph" : break;
  147.         case "catb" : break;
  148.         case "csco" : break;
  149.         case "dish" : break;
  150.         case "fb" : break;
  151.         case "fnsr": break;
  152.         case "ftr" : break;
  153.         case "gild" : break;
  154.         case "grpn" : break;
  155.         case "intc" : break;
  156.         case "jblu" : break;
  157.         case "lltc" : break;
  158.         case "mu" : break;
  159.         case "oclr" : break;
  160.         case "sbux" : break;
  161.         case "siri" : break;
  162.         case "spls" : break;
  163.         default: System.out.println("This is not a valid ticker. Please choose from the main menu and start again.\n");
  164.         }
  165.        
  166.         Connection connection = getConnection();
  167.         String query = "select * from TickerHistory where Ticker = '" + ticker + "' order by ClosePrice desc limit 1";
  168.         String query2 = "select * from TickerHistory where Ticker = '" + ticker + "' order by HistoryDate desc limit 1";
  169.        
  170.         double highClosePrice=0;
  171.         double currentClosePrice = 0;
  172.        
  173.         try {
  174.             Statement statement = connection.createStatement();
  175.             ResultSet rs = statement.executeQuery(query);
  176.            
  177.            
  178.            
  179.             while(rs.next()) {
  180.                
  181.                
  182.                 highClosePrice = rs.getDouble("ClosePrice");
  183.                 String highHistoryDate = rs.getString("HistoryDate");
  184.                
  185.  
  186.                 System.out.println(highHistoryDate + "     $" + highClosePrice);
  187.             }
  188.            
  189.            
  190.            
  191.            
  192.         Statement statement2=connection.createStatement();
  193.         ResultSet rs2=statement2.executeQuery(query2);
  194.            
  195.         while(rs2.next()) {
  196.                
  197.         currentClosePrice = rs2.getDouble("ClosePrice");
  198.         String currentHistoryDate = rs2.getString("HistoryDate");
  199.         System.out.println(currentHistoryDate + "     $" + currentClosePrice);
  200.  
  201.         }
  202.  
  203.         rs.close();
  204.         statement.close();
  205.         rs2.close();
  206.         statement2.close();
  207.         connection.close();
  208.            
  209.         rs2 = null;
  210.         statement2 = null;
  211.         connection = null;
  212.            
  213.         } catch (SQLException e) {
  214.             System.out.println("SQLException: " + e.getMessage());
  215.             System.out.println("SQLState: " + e.getSQLState());
  216.             System.out.println("VendorError: " + e.getErrorCode());
  217.         }
  218.        
  219.        
  220.         double percentDifference = ((currentClosePrice - highClosePrice) / highClosePrice) * 100.00;
  221.  
  222.         double roundPercentDifference = Math.round(percentDifference * 100.00) / 100.00;
  223.  
  224.  
  225.         System.out.println("Percent Difference is " + roundPercentDifference);
  226.        
  227.         displayMainMenu();
  228.         }
  229.            
  230.            
  231.    
  232.     static void topFiveTickers() {
  233.        
  234.         System.out.print("\nPlease enter a valid date (yyyy-mm-dd): ");
  235.         Scanner in = new Scanner(System.in);
  236.         String date = in.nextLine();
  237.        
  238.         Connection connection = getConnection();
  239.         String query = "select * from TickerHistory where HistoryDate = '" + date + "' order by Volume desc limit 5";
  240.        
  241.         try {
  242.             Statement statement = connection.createStatement();
  243.             ResultSet rs = statement.executeQuery(query);
  244.            
  245.             while(rs.next()) {
  246.                
  247.                 String ticker = rs.getString("Ticker");
  248.                 int volume = rs.getInt("Volume");
  249.            
  250.                 System.out.print("Ticker: " + ticker + "     "); System.out.printf( "%,d\n", volume);
  251.                
  252.             }
  253.            
  254.             rs.close();
  255.             statement.close();
  256.             connection.close();
  257.            
  258.             rs = null;
  259.             statement = null;
  260.             connection = null;
  261.            
  262.         } catch (SQLException e) {
  263.             System.out.println("SQLException: " + e.getMessage());
  264.             System.out.println("SQLState: " + e.getSQLState());
  265.             System.out.println("VendorError: " + e.getErrorCode());
  266.         }
  267.        
  268.  
  269.         displayMainMenu();
  270.     }
  271.    
  272.     public static void displayMainMenu() {
  273.        
  274.         System.out.println("\n---------- Stock Reporting Menu ----------");
  275.         System.out.println("\nMENU OPTIONS:");
  276.         System.out.println("\n  1. List all tickers");
  277.         System.out.println("  2. Display most recent data for ticker");
  278.         System.out.println("  3. Display high and current close price for ticker");
  279.         System.out.println("  4. Display the top five active tickers for date");
  280.         System.out.print("\nSelect number or type quit: ");
  281.        
  282.         Scanner in = new Scanner(System.in);
  283.         String menu = in.nextLine();
  284.        
  285.         switch(menu){
  286.         case "1":   getAllTickers();
  287.                     break;
  288.         case "2":   recentDataForTicker();
  289.                     break;
  290.         case "3":   closePriceForTicker();
  291.                     break;
  292.         case "4":   topFiveTickers();
  293.                     break;
  294.         case "quit": System.out.println("You have exited from the menu.");
  295.                     break;
  296.         default: displayMainMenu();
  297.             }
  298.     }
  299.  
  300.    
  301.     public static void main(String[] args) {
  302.        
  303.         displayMainMenu();
  304.  
  305. }
  306. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement