Advertisement
jaVer404

level18.lesson10.bonus02(from scratch)_beta3

Jan 28th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.98 KB | None | 0 0
  1. package com.javarush.test.level18.lesson10.bonus02;
  2.  
  3. /* Прайсы
  4. CrUD для таблицы внутри файла
  5. Считать с консоли имя файла для операций CrUD
  6. Программа запускается со следующим набором параметров:
  7. -c productName price quantity
  8.  
  9. Значения параметров:
  10. где id - 8 символов
  11. productName - название товара, 30 chars (60 bytes)
  12. price - цена, 8 символов
  13. quantity - количество, 4 символа
  14. -c  - добавляет товар с заданными параметрами в конец файла,
  15. генерирует id самостоятельно,
  16. инкрементируя максимальный id, найденный в файле
  17.  
  18. В файле данные хранятся в следующей последовательности (без разделяющих пробелов):
  19. id productName price quantity
  20. Данные дополнены пробелами до их длины
  21.  
  22. Пример:
  23. 19846   Шорты пляжные синие           159.00  12
  24. 198478  Шорты пляжные черные с рисунко173.00  17
  25. 19847983Куртка для сноубордистов, разм10173.991234
  26. */
  27.  
  28. import java.math.RoundingMode;
  29. import java.text.DecimalFormat;
  30.  
  31. public class Solution {
  32.     public static void main(String[] args) throws Exception {
  33.  
  34.         if(matchRules(args)){
  35.             /*If true MAGIC HAPPENS HERE*/
  36.  
  37.         }
  38.     }
  39.  
  40. /**
  41.  * Проверяем значение (число/не число)*/
  42.     public static boolean isNumber(String some) {
  43.         try {
  44.             Double.parseDouble(some);
  45.             return true;
  46.         }
  47.         catch (Exception e) {
  48.             return false;
  49.         }
  50.     }
  51. /*----------------------------------*/
  52.  /**    Программа запускается со следующим набором параметров:
  53.   * !!!!Тогда с другими запускатся не должна
  54.      -c productName price quantity
  55.      !!! должно быть не меньше 4 параметров
  56.      !!! первый параметр должен быть "-c"
  57.      !!!последние два должны быть номерами
  58.      */
  59.     public static boolean matchRules (String[]param) {
  60.        if(/*List of Rules*/
  61.           param[0].equals("-c")
  62.           && param.length>=4
  63.           && isNumber(param[(param.length)-1])
  64.           && isNumber(param[(param.length)-2])) {
  65.           return true;
  66.        }
  67.        else
  68.           return false;
  69.    }
  70. /**
  71.  * Возращает строку в 30 знаков в длину
  72.  * даже если там изначально было 3
  73.  * ----------------------------------*/
  74.     public static String formNewProdName (String input){
  75.     char[]spaceArray = new char[30];
  76.     for (int i = 0; i<30;i++) {
  77.         spaceArray[i]=' ';
  78.     }
  79.     char[]myProdN = input.toCharArray();
  80.     for (int i = 0; i < myProdN.length; i++) {
  81.         spaceArray[i] = myProdN[i];
  82.     }
  83.     return new String(spaceArray);
  84. }
  85. /*----------------------------------*/
  86. /**
  87.  * Возвращает цену в 8 знаков
  88.  * даже если там было 3 зн.
  89.  * */
  90.     public static String formNewPrice (String input){
  91.     char[]spaceArray = new char[8];
  92.     for (int i = 0; i<8;i++) {
  93.         spaceArray[i]=' ';
  94.     }
  95.     char[]myProdN = input.toCharArray();
  96.     for (int b = 0; b < myProdN.length; b++) {
  97.         spaceArray[b] = myProdN[b];
  98.     }
  99.     return new String(spaceArray);
  100. }
  101.     public static String formNewQuan (String input){
  102.     char[]spaceArray = new char[4];
  103.     for (int i = 0; i<4;i++) {
  104.         spaceArray[i]=' ';
  105.     }
  106.     char[]myProdN = input.toCharArray();
  107.     for (int b = 0; b < 4; b++) {
  108.         spaceArray[b] = myProdN[b];
  109.     }
  110.     return new String(spaceArray);
  111.     }
  112.  
  113.     public static int returnMaxID () {
  114.  
  115.         return 1;
  116.     }
  117.  
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement