Ryan Pflum Ответов: 3

Мне нужна помощь в понимании моего java кода


I am currently wondering how a certain java program would be written properly.



 [Sample Console Output/File Output][1]
A department store manages their sales in the form of files.  A sale is recorded on each line of a sales file in this format:

22349999990603193150

    The first 4 digits are the department code(2234)
    The next 6 digits are the item number (999999)
    The next 6 digits are the date(060319)
    The final digits are the price in pennies(3150)

Write a program that will parse a sales file and print a report for each sale

Your program should:

    Prompt a user for the input sales file name
    Prompt a user for the output report file name
    Create your own input file with at least 4 items
    Read each line of the sales file
        Print the following to the console and output report file 
            The department store name: MCC Department Store
            The date in format  full month name, day, 4 digit year
            The department name
            The item number
            The price, tax and total
    The department ranges are:
        1000-1999 Clothing
        2000-2999 Hardware
        3000-3999 Food
        4000-4999 Toys
        5000-5999 Sporting Goods
        6000-9999 – Misc.


  [1]: https://i.stack.imgur.com/RMAYp.jpg


Что я уже пробовал:

My current code is as follows:

    try {
             in = new FileInputStream("input.txt");
             out = new FileOutputStream("output.txt");
             
             int c;
             while ((c = in.read()) != -1) {
                out.write(c);
             }
          }finally {
             if (in != null) {
                in.close();
             }
             if (out != null) {
                out.close();

3 Ответов

Рейтинг:
2

OriginalGriff

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

Выбросьте все это, внимательно прочитайте вопрос еще раз и начните думать о том, что вам нужно сделать, вместо того чтобы прыгать в код и надеяться, что все это сработает!

Если у вас вообще возникли проблемы с началом работы, то это может помочь: Как написать код для решения проблемы, руководство для начинающих[^]


Ryan Pflum

Как это на что-то отвечает? Не торопитесь и ответьте на вопрос.

OriginalGriff

Мы более чем готовы помочь тем, кто застрял, но это не значит, что мы здесь, чтобы сделать все это для вас! Мы не можем сделать всю работу, вам либо платят за это, либо это часть ваших оценок, и было бы совсем несправедливо, если бы мы сделали все это за вас.

Поэтому нам нужно, чтобы вы сделали работу, и мы поможем вам, когда вы застряли. Это не значит, что мы дадим вам пошаговое решение, которое вы можете сдать!
Начните с объяснения, где вы находитесь в данный момент и каков следующий шаг в этом процессе. Затем расскажите нам, что вы пытались сделать, чтобы этот следующий шаг сработал, и что произошло, когда вы это сделали.

Рейтинг:
2

Richard MacCutchan

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

Поэтому начните с создания текстового файла с несколькими записями и просто обработайте их. Прочитайте каждую запись, разделите строку и выведите четыре разделенных значения. Как только вы это сделаете, вы сможете подумать о том, какая дополнительная обработка вам нужна для каждого поля. например, вам понадобится метод для обработки даты в отображаемой форме. Еще один метод расчета налога, основанный на любой ставке, которую вам сказали использовать.


Рейтинг:
1

Dave Kreskowiak

Если вы хотите понять, что делает код, есть инструмент под названием отладчик, который делает это. Он здесь для того, чтобы отлаживать вас, а не код. Это там, чтобы помочь вам понять, что делает код. Узнайте, как им пользоваться, и быстро. С этого момента ваша жизнь станет намного проще.

Я думаю, что довольно очевидно, что делает этот код. Это очень простая операция, но вы бы уже знали, что это такое, если бы это был вы, кто написал код.

Вы скопировали код из TutorialsPoint.com, здесь[^] и они уже объяснили, что делает этот код.