powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / нужен реинжиниринг короткого кода на java
25 сообщений из 249, страница 7 из 10
нужен реинжиниринг короткого кода на java
    #40057816
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
т.е. вы решили упоминанием про возраст подпустить какого-то дешевого понта, однако текущие ваши знания даже на джуна не тянут.


ой... я в обратную сторону почитал, вам на эту дичь еще три дня назад указали, а вы вместо этого включаете шарманку про возраст.... я прямо так и представил: ревьювер выдает замечания, а ему в ответ: "так еще диды писали".
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057821
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов,
Он за возраст скидку просит)
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057896
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Андрей Панфилов,
Он за возраст скидку просит)


Ну вот черт .. да какие блин скидки вы вообще о чем ? вы мне что то продаете ?
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057899
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфилов
Андрей Панфилов
т.е. вы решили упоминанием про возраст подпустить какого-то дешевого понта, однако текущие ваши знания даже на джуна не тянут.


ой... я в обратную сторону почитал, вам на эту дичь еще три дня назад указали, а вы вместо этого включаете шарманку про возраст.... я прямо так и представил: ревьювер выдает замечания, а ему в ответ: "так еще диды писали".


не обижайтесь, прочитайте с первого поста. а не на 3 страницы назад .. я и не тянул на джуна.. но вы поленились почитать
да возможно не все сразу проработал..
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057903
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets,
1. Это юмор был.
2. Медленно _исправляете_ ошибки. Я вас предупреждал. Тут люди каждый день пишут код.
Java не паскаль он требует полной отдачи или... к вечеру новая версия.
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057905
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
pesets,

Ну вот, а счас все по другому.
Например, нафига работодателю твои голые файлы java?
Даже в паскале были fdm/pas/dpr....


да не знаю. есть задача на первой странице, и я пытаюсь ее сделать.
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057907
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets,
Вот это вашу мысль вы слишком часто повторяется.
авторхорошая обработка пользовательского ввода и защита от дурака это тоже отрицательный опыт ? а вот это уже для меня дичь несусветная.. и я могу аргументировать реальными примерами.
Топик не про ввод. Топик про то как это делать правильно и приоритете ввода перед ФУНКЦИОНАЛОМ.
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057909
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets
PetroNotC Sharp
pesets,

Ну вот, а счас все по другому.
Например, нафига работодателю твои голые файлы java?
Даже в паскале были fdm/pas/dpr....


да не знаю. есть задача на первой странице, и я пытаюсь ее сделать.

Без IDE? В В Notepad.exe?
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057916
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
pesets,
1. Это юмор был.
2. Медленно _исправляете_ ошибки. Я вас предупреждал. Тут люди каждый день пишут код.
Java не паскаль он требует полной отдачи или... к вечеру новая версия.


1. оценил.
2. задача на Java это для меня учеба и я искренне всем благодарен за замечания.
пытаюсь все учесть, ну блин не успеваю черт.
мне ее дал потенциальный работодатель. Может это щас будет смешно - но большой работодатель ). Поверьте.
этот тест для меня ничего не решает, но я хочу, нет не так , я ХОЧУ его сделать правильно. но курить всю литературу..,
если бы у меня было это время, я бы сюда не пришел.
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057918
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
pesets
пропущено...


да не знаю. есть задача на первой странице, и я пытаюсь ее сделать.

Без IDE? В В Notepad.exe?


в смысле ..& в intellij
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057921
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets
PetroNotC Sharp
пропущено...

Без IDE? В В Notepad.exe?


в смысле ..& в intellij
тогда 2 вопроса
1. Где скрин варнингов от IDE
2. Где файлы от IDE?
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057922
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
pesets,
Зачем у абстрактного статического класса создавать объект через new?

я отлично знаю, что я щас глупость скажу.
IDE потребовала.
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057923
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets,
Какое обучение если постоянно отвлекаетесь на пустые разговоры? А кода мало.
Вот и принимайте критику мемберов спокойно.
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057924
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets
PetroNotC Sharp
pesets,
Зачем у абстрактного статического класса создавать объект через new?

я отлично знаю, что я щас глупость скажу.
IDE потребовала.
я в эклипсе пишу. Покажи как потребовала.
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057929
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp,
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057931
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets,
Картинки надо описывать. Где потребовала?
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057934
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets,

У меня эклипс варнинг покажет на данной строке.
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057935
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
pesets
пропущено...

я отлично знаю, что я щас глупость скажу.
IDE потребовала.
я в эклипсе пишу. Покажи как потребовала.


мне кажется я вру. попутал.
IDE требовала у меня создание конструкторов.
а new я сделал по аналогии.
Покажите как это должно быть правильно, если это возможно.
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057936
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
pesets,
Какое обучение если постоянно отвлекаетесь на пустые разговоры? А кода мало.
Вот и принимайте критику мемберов спокойно.


да я же запостил сегодня архив
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057937
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot PetroNotC Sharp#22301599]
pesets
пропущено...


2. Где файлы от IDE?


так я же их я их и запостил сегодня..

дико извиняюсь я на сегодня убит. спать.
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057938
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets
PetroNotC Sharp
pesets,
Какое обучение если постоянно отвлекаетесь на пустые разговоры? А кода мало.
Вот и принимайте критику мемберов спокойно.


да я же запостил сегодня архив
тяжелый случай. Надо на каждой сРанице архив)))
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057939
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets,
Спокойной ночи!
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057942
pesets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp,
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057945
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pesets,
Завтра разберитесь где варнинги в IDE
...
Рейтинг: 0 / 0
нужен реинжиниринг короткого кода на java
    #40057998
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я что-то то загорелся, и сделал первую часть задания. Там по сути то, создать класс-генератор, и класс контроллер . В классе генераторе выполняется основная работа .
В классе контроллере все проверки перед запуском класса генератора. (В большей степени защита от дурака.)

Класс генератор:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
public class CreateTextFile {
    private final static  String PATH_TO_FOLDER=ControllerMain.PATH_TO_FOLDER;//путь до папки, где будут генерится текстовые файлы исходники и результирующие текстовые файлы
    private final static  double MIN_SUM = ControllerMain.MIN_SUM;//минимальное значение суммы продажи
    private final static  double MAX_SUM = ControllerMain.MAX_SUM; //максимальное значение суммы продажи
    private final static String BEGIN_DATE_STRING= ControllerMain.BEGIN_DATE_STRING; //// январь прошлого года dd.MM.yyyy HH:mm
    private final static String FINISH_DATE_STRING= ControllerMain.FINISH_DATE_STRING;// декабрь прошлого года dd.MM.yyyy HH:mm
    private final ArrayList<String> listOffices=new ArrayList<>(); //используем много  раз по задаче,для генерации случайных точек продаж
    private String fileOffices;

    public void createFile(String fileOffices,int rowQuantity,String fileName)  {
        this.fileOffices=fileOffices;

        File file = new File(PATH_TO_FOLDER+fileName);
        try {
            if (file.createNewFile()) {
                System.out.println("Файл с именем " + fileName + " ,благополучно создан!");
            } else {
                System.out.println("Файл с таким именем уже существует по указанному пути, мы перезаписали его новыми значениями!");
            }

            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(PATH_TO_FOLDER+fileName), StandardCharsets.UTF_8));


            for (int i = 0; i <rowQuantity; i++){

                writer.write(getRandomDateTimeAsText()+" "+getRandomOfficeAsText()+" "+ i + " "+getRandomSumAsText());
                writer.newLine();
            }
            writer.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    private String getRandomDateTimeAsText(){ // возвращает рандомную дату и время в текстовом формате dd.MM.yyyy HH:mm
        SimpleDateFormat format = new SimpleDateFormat();
        format.applyPattern("dd.MM.yyyy HH:mm");
        try {
            Date  beginDate = format.parse(BEGIN_DATE_STRING);
            Date  finishDate = format.parse(FINISH_DATE_STRING);
            long random = ThreadLocalRandom.current().nextLong(beginDate.getTime(), finishDate.getTime());
            Date randomDate =new Date(random);
            return new SimpleDateFormat("dd.MM.yyyy HH:mm").format(randomDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
private String getRandomSumAsText (){ // возвращает рандомную сумму продажи в формате text
    double randomSum = ThreadLocalRandom.current().nextDouble(MIN_SUM, MAX_SUM);
    return String.format("%1.2f", randomSum); //выводит double в виде текста с запятой, к примеру 128,36
}
private String getRandomOfficeAsText () { // возвращает рандомную точку продаж , к примеру название города - Барнаул
    if (listOffices.size() > 0) {
        return listOffices.get(ThreadLocalRandom.current().nextInt(listOffices.size()));
    } else {
             try {
            Scanner s = new Scanner(new File(PATH_TO_FOLDER + fileOffices));
            s.nextLine();
            while (s.hasNext()) {
                listOffices.add(s.next());
            }
            s.close();
            return listOffices.get(ThreadLocalRandom.current().nextInt(listOffices.size()));
             } catch (Exception e) {
                     e.printStackTrace();
        }
        return null;
    }
}
}



Класс контроллер:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
public class ControllerMain {
    public final static  String PATH_TO_FOLDER="C://Users//SL//Desktop//";
    public final static  double MIN_SUM = 10000.12;//минимальное значение суммы продажи
    public final static  double MAX_SUM = 100000.50; //максимальное значение суммы продажи
    public final static String BEGIN_DATE_STRING= "01.01."+(Calendar.getInstance().get(Calendar.YEAR)-1)+ " 00:00"; // январь прошлого года dd.MM.yyyy HH:mm
    public final static String FINISH_DATE_STRING= "31.12."+(Calendar.getInstance().get(Calendar.YEAR)-1)+ " 00:00"; // декабрь прошлого года dd.MM.yyyy HH:mm
    public static void main (String[] args){
        // Дальше что то на индусском))
        if(args.length < 5)
        {
            System.out.println("Вы ввели мало параметров, а именно "+args.length+" из 5ти. Введите правильное количество параметров, равное 5!");
            System.exit(0);
        }
        if(args.length > 5)
        {
            System.out.println("Вы ввели слишком много параметров, а именно "+args.length+" из требумых 5ти. Введите правильное количество параметров, равное 5!");
            System.exit(0);
        }
        String fileNameWithOffices = args[0];
        String totalRowsQuantity = args[1];
        String outputFileName1 = args[2];
        String outputFileName2 = args[3];
        String outputFileName3 = args[4];
        if (!fileNameWithOffices.endsWith(".txt")||!outputFileName1.endsWith(".txt")||!outputFileName2.endsWith(".txt")||!outputFileName3.endsWith(".txt")){
            System.out.println("Так, давайте определимся, первый, третий,четвертый и пятый параметр это название текстовых файлов, которые должны заканчиваться" +
                    "на *.txt ,давайте еще разок!");
            System.exit(0);
        }
        File theDir = new File(PATH_TO_FOLDER); //проверяем ,есть ли вообще папка или доступ к ней
        if (!theDir.exists()){
            System.out.println("Каталога по пути "+PATH_TO_FOLDER+"не найдено. Проверьте правильность пути и доступ к указанному каталогу!");
            System.exit(0);
    }

        File theFileOffices = new File(PATH_TO_FOLDER+fileNameWithOffices); //проверяем есть ли там текстовый файл offices.txt
        if (!theFileOffices.canRead()||!theFileOffices.canWrite()) {
            System.out.println("Файла под названием " + theFileOffices + " в директории " + PATH_TO_FOLDER + " не обнаружено. Проверьте наличие файла offices.txt " +
                    " или если он там есть проверьте разрешения в данной папке. Должны обязательно быть также разрешения на чтение и запись!:))");
            System.exit(0);
        }
        boolean checkIsNumber;
        try {
            Integer.parseInt(totalRowsQuantity);
            checkIsNumber=true;
        } catch (NumberFormatException e) {
            checkIsNumber=false;
        }
        if (!checkIsNumber){
            System.out.println("То что вы ввели вторым параметром это вообще то не целое число, как вы представляете себе количество строк в таблице к " +
                    "примеру равное 123,45 или 3434акЦЦУ давайте еще разок!");
            System.exit(0);
        }
        if (Integer.parseInt(totalRowsQuantity)<3){
            System.out.println("Согласитесь , что нельзя поместить меньше трех строк ( две, или -8) таблицы в три файла. Давайте еще разок!");
            System.exit(0);
        }
        if (Integer.parseInt(totalRowsQuantity) % 3 != 0){
            System.out.println("Да штошь такое, вы ввели число некратное трём. По условию задачи должно создаваться три файла с одинаковым количеством строк))!");
            System.exit(0);
    }
        // наконец то добрались до генерации
        CreateTextFile createTextFile = new CreateTextFile();
        int rowQuantityInWhichFile = Integer.parseInt(totalRowsQuantity)/3;
        createTextFile.createFile(fileNameWithOffices ,rowQuantityInWhichFile,outputFileName1);
        createTextFile.createFile(fileNameWithOffices ,rowQuantityInWhichFile,outputFileName2);
        createTextFile.createFile(fileNameWithOffices ,rowQuantityInWhichFile,outputFileName3);
        System.out.println("Процедура завершена успешно, поздравляем!");
        System.exit(0);
    }
}




Запускается из командной строки Виндоуз (Win + R)

Туда просто вставить к примеру:

java -jar "C:\Users\SL\Desktop\Tests.jar" offices.txt 90000 ops1.txt ops2.txt ops3.txt

Путь соответственно в константах прописать свой, до нужной папки. Константы вынес в контроллер. Чтобы все было на виду. Путь до папки на вашем компе нужно менять там. Специально скрыл их в классе генераторе. Чтобы не трогали там.
И положить туда файл с со списком точек продаж offices.txt

Джарник запек на SDK 1.8, можно побаловаться.
...
Рейтинг: 0 / 0
25 сообщений из 249, страница 7 из 10
Форумы / Java [игнор отключен] [закрыт для гостей] / нужен реинжиниринг короткого кода на java
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]