Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 121

Работа с файлами

28.11.2017, 20:37. Показов 1010. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, вообщем с Java у меня трудно тому простите за глупый вопрос. У меня есть меню
  1. Добавить Расход
  2. Поиск Расходов
  3. Добавить Доход
  4. Выход
В общем Я понимаю как это сделать но у меня что-то не получается
При выборе 1 пункта пользователь введет расход, далее нужно чтоб этот расход сохранился в txt файл (Но нужно сохранить расход из датой) Чтоб потом при выборе 2 пункта можно было найти расходы за конкретный день в файле и вывести в консоль и в конце должна быть общая сумма расхода за заданный день. Ну и доход нужно чтобы ввели доход и он сохранился в txt файл, а потом при поиске доходов в конце после общей суммы писало Счет: и тут нужно отнять сохраненный доход от расходов. Помогите пожалуйста!
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
import java.util.*;
public class Menu {
 
    /**
     * @param args the command line arguments
     */
    private List<String> Costs = new ArrayList<>();
    private Scanner sc = new Scanner(System.in);
 
    public static void main(String[] args) {
        Menu menu = new Menu();
        menu.mainMenu();
    }
 
    private void mainMenu(){
        int var;
        System.out.println("1: Добавить Расход \n" +
                "2: Поиск Расходов \n" +
                "3: Добавить Доход \n"+
                "0: Выход \n" +
                "Введите номер пункта меню:");
        var = sc.nextInt();
        if (var == 1){
            addCost();
        }else if (var == 2){
            searchCost();
        }else if (var == 3){
            addIncome();
        }else if (var == 0){
            System.out.print("Good Bye");
            System.exit(0);
        }else if (var >= 4){
            System.out.println("Неверное число");
            mainMenu();
        }
    }
    private void addIncome(){
        System.out.println(" Ваш Доход: ");
        Costs.add(sc.next());
        System.out.println("------------");
        mainMenu();
    }
 
    private void addCost(){
        System.out.println(" Ваш Расход: ");
        Costs.add(sc.next());
        System.out.println("------------");
        mainMenu();
    }
 
    private void searchCost(){
        System.out.println("Расходы: ");
        for (String a: Costs){
            System.out.println(a);
        }
        System.out.println("------------");
        mainMenu();
    }
}
Добавлено через 16 минут
Там
Цитата Сообщение от Moroni Посмотреть сообщение
а потом при поиске доходов
не доходов а расходов*
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.11.2017, 20:37
Ответы с готовыми решениями:

Работа с файлами
Всем привет. Задали мне лабу и у меня возник вопрос, к примеру я хочу дополнить инфу о каком либо счете, как мне это сделать так, чтобы...

работа с файлами
Ребята никак не могу связать программу с файлом( Дано имя файла и вещественные числа A и D. Создать файл вещественных чисел с данным...

Работа с файлами
Доброго времени суток! Помогите! Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором...

1
6 / 6 / 13
Регистрация: 27.01.2015
Сообщений: 24
29.11.2017, 13:18
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
 
public class Main {
    private Scanner sc = new Scanner(System.in);
    private List<String[]> texts = readFile();
    private Date date;
    private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.MM.yyyy");
 
 
    public static void main(String[] args) throws IOException {
        Main main = new Main();
 
        while (true) {
            main.mainMenu();
        }
 
    }
 
    private void mainMenu(){
        int var;
        System.out.println(
                "1: Добавить Расход \n" +
                "2: Поиск Расходов \n" +
                "3: Добавить Доход \n"+
                "4: Расчитать Доход \n"+
                "0: Выход \n" +
                "Введите номер пункта меню:");
        var = sc.nextInt();
        if (var == 1){
            addCost();
        }else if (var == 2){
            searchCost();
        }else if (var == 3) {
            addIncome();
        } else if (var == 4) {
            calculateIncome();
        }else if (var == 0){
            System.out.print("Good Bye");
            System.exit(0);
        }else if (var > 4){
            System.out.println("Неверное число");
            System.out.println();
        }
 
    }
 
    private void calculateIncome() {
        if (texts.size() > 0) {
            int result = 0;
 
            for (String[] text : texts) {
                if ("Доход".equals(text[0])) {
                    result += Integer.parseInt(text[1]);
                } else {
                    result -= Integer.parseInt(text[1]);
                }
            }
 
            System.out.println("Доход составляет: " + result);
            System.out.println();
        } else {
            System.out.println("Файл пуст");
            System.out.println();
        }
    }
 
    private void addIncome() {
        System.out.println("Введите доход:");
        String s = sc.next();
        date = new Date();
 
        writeFile(("Доход" + "\t") + s + "\t" + simpleDateFormat.format(date));
    }
 
    private void searchCost() {
        if (texts.size() > 0) {
            System.out.println("Введите дату для поиска");
            String s = sc.next();
            boolean isEmpty = true;
 
            for (String[] text : texts) {
                if (s.equals(text[2]) && "Расход".equals(text[0])) {
                    System.out.println(text[0] + " " + text[1] + " " + text[2]);
                    isEmpty = false;
                }
            }
 
            System.out.println();
 
            if (isEmpty) {
                System.out.println("По введенной дате расхода не найдено");
                System.out.println();
            }
        } else {
            System.out.println("Файл пуст");
            System.out.println();
        }
    }
 
    private void addCost() {
        System.out.println("Введите расход: ");
        String s = sc.next();
        date = new Date();
 
        writeFile(("Расход" + "\t") + s + "\t" + simpleDateFormat.format(date));
    }
 
    private List<String[]> readFile() {
        try {
            List<String> textFromFile = Files.readAllLines(Paths.get("ПУТЬ К ФАЙЛУ"));
            List<String[]> linesFromText = new ArrayList<>();
            String[] strings;
 
            for (String s : textFromFile) {
                strings = s.split("\t");
                linesFromText.add(strings);
            }
 
            return linesFromText;
 
        } catch (IOException e) {
            System.out.println("Не правильный путь к файлу");
            System.out.println();
        }
        return null;
    }
 
    private void writeFile(String s) {
        try (FileWriter fileWriter = new FileWriter("ПУТЬ К ФАЙЛУ", true)) {
            fileWriter.write(s);
            fileWriter.write("\n");
            fileWriter.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2017, 13:18
Помогаю со студенческими работами здесь

Работа с файлами
Здравствуйте! Как считать с файла такую информацию: 1 0.2 3.4 -1 -10 10 1 чтобы потом присвоить каждое значение в переменные, например...

Работа с файлами
Всем добрый день! Есть задача: В файле, содержащем фамилии студентов и их оценки, записать прописными буквами фамилии тех студентов,...

Работа с файлами
Задание: Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не ровна нулю. Файл f содержит столько же...

Работа с файлами
Дан файл, содержащий произвольный текст. Выяснить чего в нем больше: русских букв или цифр.

Работа с файлами
Подскажите как можно сделать следующее на JAVA. :) Дан файл, содержащий координаты (X,Y) какого-то маршрута(например маршрут...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru