С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545

Java (Comp1 и comp2). Переменная main создание 2 объекта. Не могу разобраться в этом!

14.09.2015, 16:24. Показов 1053. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Не могу разобраться. Я написал код на Java среда NetBeans. Так вот объект "компьютер" расписал все характеристики, но не могу в методе main создать 2 объекта Computer с разными характеристиками. Для первого объекта переменная comp1, для второго - comp2. После этого нужно поменять объекты местами, чтобы comp1 указывал на 2 объект, а comp2 на первый. У меня это вообще не получается! Мне нужно в этом разобраться!
Выдает такую ошибку
MyFirstProgram
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
package myfitrstprogram;                                    // Пакет и название пакета, в котором нахолится программа
 
 
import testobject.Computer;                                 // Это импорт из testobject 
 
 
public class MyFitrstProgram {                              // Это я создал публичный класс прежче чем написать код
 
 
    public static void main(String[] args) { 
        Computer comp2 = new Computer(17.2, 160000, 3);       // comp это ссылчный элемент
        Computer comp1 = new Computer("IBM", 2048, 350, 2.4);
        
        
        
        
            comp1.setName("IBM");            // Модель компьютера
            comp1.setRam(2048);              // Объем ОП
            comp1.setHdd(350);               // Объем жесткого диска
            comp1.setProcessor(2.4);
            
            comp2.setSize_monitor(17.2);
            comp2.setColor(160000);
            comp2.setUsb(3);
        
            
        comp1.on();                          // Компьютер включился
        comp1.load();                        // Компьютер загружается 
        comp1.off();                         // Компьютер выключился
    }
 
    public MyFitrstProgram() {
    }
 
 
    
}
 
 
 
// Computer comp = null; Это означает, что объект Computer (comp - это ссылочный эелемент) ни на что не ссылается и подвержен удалению;
// new Computer(); создалась переменная типа Computer;
// Computer comp2 = new Computer(); Переменная comp2 ссылается на созданный объект Computer
Computer
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
package testobject;                 // Создание сначала пакет, далее название пакета java
 
 
public class Computer {             // Создание класса далее название класса java
    
 
    private String name;            // public модификатор доступа. Название должно быть текстовым по этому пишем String далее имя "name"
    
    private int ram;                // Кол-во опреративной памяти обозначается в цифрах. По-этому пишем "int"
    
    private int hdd;                // Кол-во памяти в hdd обозначается в цифрах. По-этому пишем "int"
    
    private double weight;          // Вес с плавающей точкой double. Вес обозначается Weight
    
    private double processor;          // Частота  процессора
    
    private double size_monitor;    // Размер монитора
    
    private int color;              // кол-во цветов
    
    private int usb;                // кол-во usb портов
    
    
    public Computer(){
        
    }
 
    public Computer(String name, int ram, int hdd, double weight, double processor, double size_monitor, int color, int usb) {
        this.name = name;
        this.ram = ram;
        this.hdd = hdd;
        this.weight = weight;
        this.processor = processor;
        this.size_monitor = size_monitor;
        this.color = color;
        this.usb = usb;
    }
  
 
    
    public int getUsb() {
        return usb;
    }
    
    public void setUsb(int newUsb) {
        if (newUsb<0){
            System.out.println("Данное значение "+newUsb+" не может быть отрицательным");
        }else if(newUsb>4){
            System.out.println("Данное значение "+newUsb+" не может быть больше 4");
 
        }      
    }
    
    public int getColor() {
        return color;
    }
    
    public void setColor(int newColor){
        if(newColor>0){
        }else{
            System.out.println("Данное значение "+newColor+" не может быть отрицательным");
        }
    }
    
    
    public double getSize_monitor() {
            return size_monitor;
    }
    
    public void setSize_monitor(double newSize_monitor) {
            if (newSize_monitor>0){
            size_monitor = newSize_monitor;
            }else{
                System.out.println("Данное знаечение "+newSize_monitor+" не может быть отрицательным");
            }
    }
    
   public double getProcessor() {
            return processor;       
    }
    
    public void setProcessor(double newProcessor) {
            if (newProcessor>0){
           }else{
                System.out.println("Это значение "+newProcessor+" не может быть отрицательным");
           }
    }
    
    public String getName() {
            return name;
        }
    
    public void setName(String newName) {
            name = newName;
        }
    
    public int getRam() {
            return ram;
    }
    
    public void setRam(int newRam) {
            if (newRam>0){
                ram = newRam;
            }else{
                System.out.println("Переданное значение "+newRam+" не может быть отрицательным!");
            }
    }
    
    public int getHdd() {
            return hdd;
    }
    
    public void setHdd(int newHdd) {
            if (newHdd>0){
                hdd = newHdd;
            }else{
                System.out.println("Переданное значение "+newHdd+" не может быть отрицательным!");
            }
    }
    
    
    
    
    
    
    public void on(){                                   // void - это тип метода т.е будет ли он возвращать какое-то значание или не будет. Написал, что пока не будет не чего возвращить и по этому написал "void". Мы создали одно дейсвие для компьтера "on" 
        print("Я включился. Моя модель "+getName());    // Вывод текста + имя компьтера
    }
    
    public void off(){ 
        print("Я выключился");
    }
    
    public void load(){
        print("Я загркжаюсь. Мой объем жесткого диска: "+getHdd()+" Гб. Процессор Intel i7 с частотой: "+getProcessor()+" Ггц");
    }
 
    public void print(String str){
        System.out.println(str);
    }
     
    
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.09.2015, 16:24
Ответы с готовыми решениями:

Не могу разобраться с exception in thread "main" java.lang.nullpointerexception
Заменить k-й символ слова на заданный символ. С использованием классов Word и Sentence. Eclipse выдает Exception in thread...

Конструктор и создание объекта в main
Уважаемые форумчане, помогите распутаться в 3-х соснах. Пожалуйста. Для наглядности, имеем код: import java.util.*; class...

не могу разобраться в этом коде
package easybudda.backgroundimage; import java.awt.*; import javax.swing.*; public class BackgroundImage { private...

3
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,766
14.09.2015, 16:29
Он ведь вам прямым текстом говорит, что нет конструктора, с таким списком параметров. Когда вы пишете "new Computer(...)", то в скобках должны идти параметры тех же типов, в том же количестве и в той же последовательности, в которой они присутствуют хотя бы в одном конструкторе класса. У вас в классе всего один конструктор c параметрами:
Java
1
public Computer(String name, int ram, int hdd, double weight, double processor, double size_monitor, int color, int usb) {
И его список параметров явно не соответствует тому списку параметров, что вы передаёте при создании объекта через 'new'.

У вас там ещё есть конструктор без параметров, так что можно создать объект через него и потом уже сеттерами задать значения полей.
Java
1
Computer comp1 = new Computer();
0
226 / 184 / 80
Регистрация: 13.04.2014
Сообщений: 694
14.09.2015, 16:38
Создай конструктор
Java
1
2
Computer(double d, int n, int k) {
}
0
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
15.09.2015, 10:33
Цитата Сообщение от Anonymous4722 Посмотреть сообщение
Мне нужно в этом разобраться!
попробуйте сделать какойнить Computer с одним или двумя параметрами, например. Если вам действительно нужно...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.09.2015, 10:33
Помогаю со студенческими работами здесь

Эта переменная не определена, не могу разобраться
Добрый день, столкнулся с проблемой, уже очень долго не могу понять в чем моя ошибка, я плохо знаю MathCAD и надеюсь на вашу помощь

Эта переменная не определена. Не могу разобраться
Облазил уже кучу сайтов не могу понять. Использую PTC Mathcad Prime 3.1

Из main вызвать две задачи, при этом сразу вернуть управление в main
Не нашел нигде.. гугл не помог (отчасти только). Вопрос такой, есть консольное приложение. Код main static void Main() { ...

Не могу разобраться с областью видимости объекта
Здравствуйте. У меня есть форма, на ней pictureBox. Для его обновления у меня есть отдельный класс. Выглядит это так: public...

Передача объекта в объект, не могу разобраться
Здравствуйте. Делаю так: &gt;&gt;&gt; class transmit(object): ... def printer(self): ... print &quot;QQQ&quot; ... &gt;&gt;&gt;...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru