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

Заполнение массива обьектов данными

22.09.2013, 23:56. Показов 3602. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть класс с полями, и методами: заполнение полей и вывод полей. Заполнение должно происходить так: есть массив строк(название марок, моделей(для каждой марки свой массив моделей), цветов). Надо рандомно заполнить модель, цвет, цену, год... и потом в зависимости от марки рандомно заполнить модель(в зависимости от марки брать строки из нужного массива моделей). Вроде сделал все как надо(пока без записи модели), но програма не работает. Вот что выводит:
Exception in thread "main" java.lang.NullPointerException
at javaapplication1.Main_class.main(Main_cl ass.java:21)
Java Result: 1

Вот код:

main_class.java
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
package javaapplication1;
//import java.util.Random; 
 
public class Main_class 
{
    public static void main(String[] args)
    {
        int C = 50;
        Car[] carr = new Car[C];  
        
        String[] mark_arr = {"Audi", "BMW", "Mercedes", "Chevrolet", "Dodge"};
        String[] audi_model_arr = {"A4","A6","A8"};
        String[] bmw_model_arr = {"3-series", "5-series", "7-series"};
        String[] mercedes_model_arr = {"C-classe", "E-classe", "S-classe"};
        String[] chevrolet_model_arr = {"Camaro", "Chevelle", "Impala"};
        String[] dodge_model_arr = {"Challanger", "Charger", "Ram"};
        String[] color_arr = {"White", "Black", "Yellow", "Red", "Blue", "Gray"};       
        
        for (int i=0; i<C; i++)
        {
            carr[i].in(i/*ID*/, mark_arr[(int)Math.random()*4]/*Mark*/, (int)(Math.random()*2000+1965)/*Year*/, color_arr[(int)Math.random()*5]/*Color*/, (int)(Math.random()*2000+1965)/*Price*/, "qwe"/*Reg */); // тут я в метод .in передаю: id; марку(рандомная строка из массива mark_arr); рандомный год; цвет(рандомная строка из массива color_arr; цену(тоже рандомнае число); рег.номер(пока просто строку)). на ету строку у меня как раз и ругаеться ява
            carr[i].out();// хочу вывести обьект. 
        }
        
        
    }   
}
Car.java
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
package javaapplication1;
 
public class Car 
{
    private int ID;
    private String MARK;
    private String MODEL;
    private int YEAR_MADE;
    private String COLOR;
    private int PRICE;
    private String REG_NUMB;
    
    Car(int _ID, String _MARK, String _MODEL, int _YEAR_MADE, String _COLOR, int _PRICE, String _REG_NUMB)
    {
        ID = _ID; MARK = _MARK; MODEL = _MODEL; YEAR_MADE = _YEAR_MADE; COLOR = _COLOR; PRICE = _PRICE; REG_NUMB = _REG_NUMB;
    };
    
    Car()
    {
        ID = 0;
        MARK = "mark";
        MODEL = "model";
        YEAR_MADE = 0;
        COLOR = "color";
        PRICE = 0;
        REG_NUMB = "reg_numb";
    };
    public void in(int id, String mark, int year, String color, int prc, String regnumb) // заполнение данных
    {
        ID = id;
        MARK = mark;
        MODEL ="w";
        YEAR_MADE = year;
        COLOR = color;
        PRICE = prc;
        REG_NUMB = regnumb;        
    };
    public void out() // вывод данных
    {
        System.out.println("\nID: " + ID + "\nMark: " + MARK + "\nModel: " + MODEL + "\nYear made: " + YEAR_MADE + "\nColor: " + COLOR + "\nPrice: " + PRICE + "\nRegnumber: " + REG_NUMB);
    };
}
Добавлено через 3 минуты
IDE: NetBeans 7.3.1

Добавлено через 22 минуты
если main_class.java переписать так, то тоже выдает ошибку, но всетаки в те новые переменные что я создал записиваються значения(правда рандом работает не правильно, всегда 0 выходит)
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
package javaapplication1;
//import java.util.Random; 
 
public class Main_class 
{
    public static void main(String[] args)
    {
        int C = 50;
        Car[] carr = new Car[C];  
        
        String[] mark_arr = {"Audi", "BMW", "Mercedes", "Chevrolet", "Dodge"};
        String[] audi_model_arr = {"A4","A6","A8"};
        String[] bmw_model_arr = {"3-series", "5-series", "7-series"};
        String[] mercedes_model_arr = {"C-classe", "E-classe", "S-classe"};
        String[] chevrolet_model_arr = {"Camaro", "Chevelle", "Impala"};
        String[] dodge_model_arr = {"Challanger", "Charger", "Ram"};
        String[] color_arr = {"White", "Black", "Yellow", "Red", "Blue", "Gray"};       
        
        for (int i=0; i<C; i++)
        {
            String mark_tmp = mark_arr[(int)Math.random()*4];
            String color_tmp = color_arr[(int)Math.random()*5];
            int year_tmp = (int)(Math.random()*2000+1965);
            int prc_tmp = (int)(Math.random()*2000+1965);
            System.out.println(mark_tmp + " " + color_tmp + " " + year_tmp + " " + prc_tmp + "\n");
            carr[i].in(i, mark_tmp, year_tmp, color_tmp, prc_tmp, "qwe"); // тут я в метод .in передаю: id; марку(рандомная строка из массива mark_arr); рандомный год; цвет(рандомная строка из массива color_arr; цену(тоже рандомнае число); рег.номер(пока просто строку)). на ету строку у меня как раз и ругаеться ява
            //carr[i].out();// хочу вывести обьект. 
        } 
    }   
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.09.2013, 23:56
Ответы с готовыми решениями:

Массив строк из массива обьектов
имеется класс public class lineTargets { int a; String bStr; int c; ... }на основе его имеется имеется ...

Заполнение массива данными с QTableWidget
Здравствуйте, только начал знакомиться с Qt, и вообще с c++. Мне нужно заполнить массив рандомными числами, которые находятся в...

Заполнение структуры данными из массива
Нужно заполнить структуру байтами из массива. Помогите, пожалуйста, примером. typedef struct _ELEMENT { char number; char *...

1
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
23.09.2013, 09:29
что-то я не вижу, где бы вы создавали объекты самих машинок, массив то объявили, то где конкретно new Car(); 50 раз?

Добавлено через 3 минуты
всё верно, поправьте кусок на такой
Java
1
2
3
4
for (int i=0; i<C; i++)
        {
            carr[i] = new Car();
....
+ лучше бы вы не методом in запихивали данные в голый объект, а через конструктор ("надёжней знаете ли"(с))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.09.2013, 09:29
Помогаю со студенческими работами здесь

Заполнение массива данными из textbox
Привет всем. Задача такая: есть textbox(multiline), в который пользователь вводит двумерный массив(элементы через пробел, новая строка...

Заполнение treeview данными из массива
Люди помогите. В общем ситуация такая: Делаю запрос к базе getrows'ом помещаю данные для построения древовидного списка в массив и затем...

Заполнение двумерного массива данными из файла
Здравствуйте. Возможна ли передача на динамический двумерный массив с 2-мя столбцами и с числом строк, идентичным числу строк таблице в...

Массивы: Заполнение массива данными из цикла
Здравствуйте!) Есть небольшая проблема в коде! пишу программу имитации игры в &quot;Крепс&quot;(программа играет сама с собой) ...

Заполнение массива данными из базы данных
Добрый день! Подскажите пожалуйста, для обработки указанного запроса, какие параметры указать в массиве fields6N (непонятно что делать с...


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

Или воспользуйтесь поиском по форуму:
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