Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level18.lesson10.bonus02;
- /* Прайсы
- CrUD для таблицы внутри файла
- Считать с консоли имя файла для операций CrUD
- Программа запускается со следующим набором параметров:
- -c productName price quantity
- Значения параметров:
- где id - 8 символов
- productName - название товара, 30 chars (60 bytes)
- price - цена, 8 символов
- quantity - количество, 4 символа
- -c - добавляет товар с заданными параметрами в конец файла,
- генерирует id самостоятельно,
- инкрементируя максимальный id, найденный в файле
- В файле данные хранятся в следующей последовательности (без разделяющих пробелов):
- id productName price quantity
- Данные дополнены пробелами до их длины
- Пример:
- 19846 Шорты пляжные синие 159.00 12
- 198478 Шорты пляжные черные с рисунко173.00 17
- 19847983Куртка для сноубордистов, разм10173.991234
- */
- import java.math.RoundingMode;
- import java.text.DecimalFormat;
- public class Solution {
- public static void main(String[] args) throws Exception {
- roudTo2digits("26.8989849866");
- if(matchRules(args)){
- /*If true MAGIC HAPPENS HERE*/
- }
- }
- /**
- * Проверяем значение (число/не число)*/
- public static boolean isNumber(String some) {
- try {
- Double.parseDouble(some);
- return true;
- }
- catch (Exception e) {
- return false;
- }
- }
- /*----------------------------------*/
- /** Программа запускается со следующим набором параметров:
- * !!!!Тогда с другими запускатся не должна
- -c productName price quantity
- !!! должно быть не меньше 4 параметров
- !!! первый параметр должен быть "-c"
- !!!последние два должны быть номерами
- */
- public static boolean matchRules (String[]param) {
- if(/*List of Rules*/
- param[0].equals("-c")
- && param.length>=4
- && isNumber(param[(param.length)-1])
- &&isNumber(param[(param.length)-2])) {
- return true;
- }
- else
- return false;
- }
- /**
- * Возращает строку в 30 знаков в длину
- * даже если там изначально было 3
- * ----------------------------------*/
- public static String formNewProdName (String input){
- char[]spaceArray = new char[30];
- for (int i = 0; i<30;i++) {
- spaceArray[i]=' ';
- }
- char[]myProdN = input.toCharArray();
- for (int i = 0; i < myProdN.length; i++) {
- spaceArray[i] = myProdN[i];
- }
- return new String(spaceArray);
- }
- /*----------------------------------*/
- /**
- * Возвращает цену в 8 знаков
- * даже если там было 3 зн.
- * */
- public static String formNewPrice (String input){
- char[]spaceArray = new char[8];
- for (int i = 0; i<8;i++) {
- spaceArray[i]=' ';
- }
- char[]myProdN = input.toCharArray();
- for (int b = 0; b < myProdN.length; b++) {
- spaceArray[b] = myProdN[b];
- }
- return new String(spaceArray);
- }
- /**
- *
- */
- public static void roudTo2digits (String digits) {
- DecimalFormat df = new DecimalFormat("#.##");
- Double myDouble = Double.parseDouble(digits);
- df.setRoundingMode(RoundingMode.CEILING);
- System.out.println((df.format(myDouble)));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement