Advertisement
jaVer404

level18.lesson10.bonus02(from scratch)_beta

Jan 27th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.60 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. public class Solution {
  29.     public static void main(String[] args) throws Exception {
  30.  
  31.         if(matchRules(args)){
  32.             /*If true MAGIC HAPPENS HERE*/
  33.  
  34.         }
  35.     }
  36.  
  37. /**
  38.  * Проверяем значение (число/не число)*/
  39.     public static boolean isNumber(String some) {
  40.         try {
  41.             Double.parseDouble(some);
  42.             return true;
  43.         }
  44.         catch (Exception e) {
  45.             return false;
  46.         }
  47.     }
  48. /*----------------------------------*/
  49.  /**    Программа запускается со следующим набором параметров:
  50.   * !!!!Тогда с другими запускатся не должна
  51.      -c productName price quantity
  52.      !!! должно быть не меньше 4 параметров
  53.      !!! первый параметр должен быть "-c"
  54.      !!!последние два должны быть номерами
  55.      */
  56.    public static boolean matchRules (String[]param) {
  57.        if(/*List of Rules*/
  58.           param[0].equals("-c")
  59.           && param.length>=4
  60.           && isNumber(param[(param.length)-1])
  61.           &&isNumber(param[(param.length)-2])) {
  62.           return true;
  63.        }
  64.        else
  65.           return false;
  66.    }
  67. /**
  68.  * Возращает строку в 30 знаков в длину
  69.  * даже если там изначально было 3
  70.  * ----------------------------------*/
  71. public static String formNewProdName (String input){
  72.     char[]spaceArray = new char[30];
  73.     for (int i = 0; i<30;i++) {
  74.         spaceArray[i]=' ';
  75.     }
  76.     char[]myProdN = input.toCharArray();
  77.     for (int i = 0; i < myProdN.length; i++) {
  78.         spaceArray[i] = myProdN[i];
  79.     }
  80.     return new String(spaceArray);
  81. }
  82. /*----------------------------------*/
  83. /**
  84.  * Возвращает цену в 8 знаков
  85.  * даже если там было 3 зн.
  86.  * */
  87. public static String formNewPrice (String input){
  88.     char[]spaceArray = new char[8];
  89.     for (int i = 0; i<8;i++) {
  90.         spaceArray[i]=' ';
  91.     }
  92.     char[]myProdN = input.toCharArray();
  93.     for (int b = 0; b < myProdN.length; b++) {
  94.         spaceArray[b] = myProdN[b];
  95.     }
  96.     return new String(spaceArray);
  97. }
  98.  
  99. /**
  100.  *
  101.  */
  102.  public static double roudTo2digits (String digits) {
  103.      
  104.  }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement