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

Exception in thread "main" java.lang.NullPointerException at Main.main

21.10.2016, 17:10. Показов 3446. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Извините, перемещю в нужный раздел как только найду как это сделать

Задание: Создать масив объектов класса, определить значение полей и вывести на экран.
Eclipse.
Ошибка:
Exception in thread "main" java.lang.NullPointerException
at Main.main(Main.java:16)

Листинг класса Main:
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
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        int P,F,T;
        Scanner scn = new Scanner(System.in);
        WorkDeviation[] OBJ= new WorkDeviation[5];        
        
        for(int i=0;i<5;i++) {
        System.out.println("Введіть тип " + (i+1) + "-го верстату (символ):");
        T = scn.nextInt();
        System.out.println("Введіть час роботи за планом (годин):");
        P = scn.nextInt();
        System.out.println("Введіть фактичний час роботи (годин):");
        F = scn.nextInt();
        OBJ[i].SetMachine(1, (char) T, P, F);
        System.out.println("Верстат № " + OBJ[i].GetIndex());
        System.out.println("Тип верстата: " + OBJ[i].GetType());
        System.out.println("Час роботи за планом: " + OBJ[i].GetPlan());
        System.out.println("Фактичний час роботи: " + OBJ[i].GetFact());
        System.out.println("Відхилення в годинах: " + OBJ[i].GetO1());
        System.out.println("Відхилення в %: " + OBJ[i].GetO2());
        }
    }
}
Консоль:
Bash
1
2
3
4
5
6
7
8
Введіть тип 1-го верстату (символ):
1
Введіть час роботи за планом (годин):
6
Введіть фактичний час роботи (годин):
5
Exception in thread "main" java.lang.NullPointerException
    at Main.main(Main.java:16)
Ошибка возникает только если я использую масив. С одним объектом всё впорядке. Смотрел и другие темы с NullPointerException, но не нашел (или не смог понять) способа решения моей проблемы. Пытался проверять дебагом, но на Джава я в нем еще толком не разобрался (пробывал также Android Studio и Intellij Idea), программа просто останавливается на 16-ой строке. Также пробывал еще по-разному решать проблему, из-за чего родилось несколько лишних методов в коде (оставил для наглядности).

Клас Machine:
Кликните здесь для просмотра всего текста
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
/**
 * Created by arest on 04.10.2016.
 */
 
public class Machine {
    protected int index;
    protected char MType;
    protected WorkTime WTime;
 
    public void SetMachine(int counter, char T, int P, int F) {
        index = counter;
        MType = T;
        WTime.SetWorkTime(P, F);
    }
 
    public int GetIndex (){
        return index;
    }
 
    public char GetType(){
        return MType;
    }
 
}


Клас WorkTime:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
 * Created by arest on 04.10.2016.
 */
 
public class WorkTime extends Machine {
    protected int plan,fact;
    protected WorkDeviation Devt;
 
    public void SetWorkTime(int a1, int a2){
        plan = a1;
        fact = a2;
        Devt.SetWorkDeviation(a1,a2);
    }
 
    public int GetPlan(){
        return plan;
    }
 
    public int GetFact(){
        return fact;
    }
}


Клас WorkDeviation:
Кликните здесь для просмотра всего текста
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
/**
 * Created by arest on 06.10.2016.
 */
 
public class WorkDeviation extends WorkTime {
    private float O1,O2;
 
    public void SetWorkDeviation(int a1, int a2) {
        O1 = a1 - a2;
        O2 = (O1 * 100) / a1;
    }
 
    public void SetFuckingWorkDev(int con, char t, int p, int f){
        index=con;
        MType=t;
        plan=p;
        fact=f;
        O1=p-f;
        O2=(O1*100)/p;
    }
 
    public float GetO1(){
        return O1;
    }
 
    public float GetO2(){
        return O2;
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.10.2016, 17:10
Ответы с готовыми решениями:

Ошибка Exception in thread "main" java.lang.NullPointerException
Полный текст консоли: Input a number: Exception in thread &quot;main&quot; java.lang.NullPointerException at...

Ошибка Exception in thread "main" java.lang.NullPointerException
Добрый день! Программа запускается, но выдает ошибки: MSI GeForce GTX 1070 Gaming Z Exception in thread &quot;main&quot;...

Ошибка Exception in thread "main" java.lang.NullPointerException
Всем привет, я только начал изучать Java и мне дали задание написать программу копирования файла тремя способами. В ходе выполнения...

1
502 / 348 / 134
Регистрация: 14.06.2016
Сообщений: 669
21.10.2016, 17:59
Всё-таки, сначала
Java
1
OBJ[i] = new WorkDeviation();
, а потом
Java
1
OBJ[i].SetMachine(1, (char) T, P, F);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.10.2016, 17:59
Помогаю со студенческими работами здесь

Erorr Exception in thread "main" java.lang.NullPointerException
Exception in thread &quot;main&quot; java.lang.NullPointerException at com.company.Main.rtoi(Main.java:157) at...

Exception in thread "main" java.lang.NullPointerException
Возможно, мой вопрос реально очень тупой, но всё равно помогите!:cry: Вот код: import java.awt.Graphics; public class Game { ...

Exception in thread "main" java.lang.NullPointerException
Использую IDEA, пробую выполнить : // подключение используемых в программе внешних пакетов import java.io.Console; /* объявление...

Exception in thread "main" java.Lang.NullPointerException
Укажите ошибочку и как ее исправить: Exception in thread &quot;main&quot; java.lang.NullPointerException at lab8info.main(lab8info.java:26) ...

Exception in thread "main" java.lang.NullPointerException
При запуске reader остается равен 0. Не читает файл. Загружен правильно. выдает ошибку после компиляции: Файл не найден Exception in...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru