Форум программистов, компьютерный форум, киберфорум
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. Показов 3461. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru