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

Запись в файл

17.01.2015, 14:42. Показов 1059. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И снова здравствуйте!
Проблема со вторым пунктом задачи: создать массив из объектов для класса Milk (молоко), в котором имеются такие поля: название, жирность в процентах, наличие на складе. Подсчитать средний процент жирности и вывести количество видов молока на складе. Осуществить вызов классов из различных пакетов. Добавить: 1) ввод информации об объекте через потоки ввода 2) вывод информации об объекте в файл(строки 39-52).

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
package Main;
import Milk.Milk;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.util.Scanner;
 
 
import Milk.Milk;
 
public class Main {
    public static void main (String [] args) throws IOException{
        Milk variety [];
        variety = new Milk[2];
        variety[0]=new Milk();
        variety[1]=new Milk();
        
        PrintWriter pw = new PrintWriter (System.out, true);
 
        Scanner inp = new Scanner (System.in); 
        
        for (int i=0; i<variety.length;i++){
            pw.println("Введите название молока: ");
            variety[i].name=inp.nextLine();
            pw.println("Введите наличие на складе true/false");
            variety[i].avail=inp.nextLine();
            pw.println("Введите процент жирности (число)");
            variety[i].perc=inp.nextLine();
            pw.println("*****************");
        }
        
        variety[0].printAll();
        variety[1].printAll();
        Milk.avPerc(variety);
        Milk.availability(variety);
        
        FileOutputStream file;
        ObjectOutputStream out;
        
        try {
            file = new FileOutputStream ("E:/mydata.txt");
            out = new ObjectOutputStream (file);
            
            out.writeObject(variety);
            out.writeInt(Milk.availability(variety));
            out.writeInt(Milk.avPerc(variety));
            out.close();
        } catch (FileNotFoundException e){
            pw.println("Файл не найден!");
        }
    }
}
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
package Milk;
 
import java.io.PrintWriter;
 
public class Milk {
    public String name;
    public String perc;
    public String avail;
    
    static PrintWriter pw = new PrintWriter (System.out, true);
    
    public static int avPerc(Milk [] variety){
        double a=0;
        for (int i=0; i<variety.length; i++) {
            a+=Double.parseDouble(variety[i].perc);
        }
        pw.println("The average percent is: "+(double)a/variety.length);
        return 0;
    }
    
    public static int availability(Milk [] variety){
        int b=0;
        for (int i=0; i<variety.length; i++){
            if (variety[i].avail.equals("true")) 
                b+=1;
        }
        pw.println("There are "+b+" types of milk");
        return 0;
    }
    
    public void printAll(){
        pw.println(name+"\n"+perc+"\n"+avail+"\n");
    }
}
Почему-то пишет исключение при записи
Помогите пожалуйстааа!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.01.2015, 14:42
Ответы с готовыми решениями:

Файл: как-то по-другому организовать запись в файл, не прибегая к булеановским значениям?
Есть участок кода, который выводит одно из трёх сообщений в консоль в зависимости от условия. if(N&gt;1){ if...

Файл: Сделать так, чтобы запись в файл была с новой строки?
Как в этом фрагменте кода сделать так чтобы запись в файл была с новой строки? try (FileWriter writer = new FileWriter(file, true))...

Запись в файл в другой файл
Есть такой код, он работает, НО!!! Как мне удержать Line? чтобы записать его в другой файл? try { File file =...

1
 Аватар для Sanan07
284 / 264 / 173
Регистрация: 27.07.2014
Сообщений: 584
17.01.2015, 15:06
kot_prav, ObjectOutputStream записывает в файл объект, а вам нужно записать результат выполнения метода. Лучше используйте класс
Java
1
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
и при записи, все переводите в строку
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.01.2015, 15:06
Помогаю со студенческими работами здесь

Запись в файл
Есть такой код import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import...

Запись в файл
закидываю в метод Bukvi строку текста и Не могу понять почему при записи в файл через метод ZapicVArhiv записываются только последние...

Запись в файл
Делаю контрольную, почему-то в файл записывает только одно слово, последнее. Что не так? import java.util.*; import java.io.*; public...

Запись в файл
Здравствуйте, у меня к вам вопрос, как записать объект класса в файл? Тут есть пример записи строки в файл, но когда я пытаюсь создать...

запись в файл
Приветствую! есть метод write2DArray public static void write2DArray(final double x,final OutputStream os) throws...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru