Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
11 / 10 / 4
Регистрация: 08.03.2016
Сообщений: 333

Getter and setter

17.04.2017, 11:57. Показов 1431. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу получить значения. Правильно ли я делаю?

Здесь геттер и сеттер
Кликните здесь для просмотра всего текста
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
package mainPackage;
 
public class Calculator {
    
    public static double countnight;
    public static double countpeople;
    private double constantatransport = 0.0;
    private double constantafood = 0.0;
    public static double priceonetourist;
    public static double pricetransport;
    public static double pricefood;
    public static double procent;
    public static String tourcost;
    
    public static String SetToutCost(double countnight, double countpeople, double constantatransport, double constantafood, double priceonetourist, double pricetransport, double pricefood, double procent) {
        String strtourcost = null;
        double settourcost = 0;
        settourcost = ((priceonetourist * countnight * countpeople) + (pricetransport * countpeople * constantatransport) + (pricefood * countpeople * countnight * constantafood)) * procent;
        strtourcost = Double.toString(settourcost);
        return strtourcost;
        
    }
    
    public double setconsttransp() {
        return constantatransport;
    }
    
    public void getconsttransp(double setcontransp) {
        this.constantatransport = setcontransp;
    }
    
    public double setconstfood() {
        return constantafood;
    }
    
    public void getconstfood(double setconfood) {
        this.constantafood = setconfood;
    }
 
}


Здесь пытаюсь установить значения используя геттеры
Кликните здесь для просмотра всего текста
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
public class classClientFrame extends JFrame {
    
    Calculator calc = new Calculator();
    public void sendForm(JButton button, JTextField textField, JTextField textField1, JCheckBox checkBox, JCheckBox checkBox1,
            JRadioButton radioBtn, JRadioButton radioBtn1, JRadioButton radioBtn2) {
                button.addActionListener(new ActionListener() {
            
            public void actionPerformed(ActionEvent e) {
                
                if (!textField.getText().equals("0") && !textField1.getText().equals("0")) {
                    
                    if (!textField.getText().equals(null) && !textField1.getText().isEmpty()
                        && !textField.getText().equals(null) && !textField1.getText().isEmpty()) {
                        
                        if (checkBox.isSelected() && checkBox1.isSelected() && radioBtn.isSelected()
                            && textField.getText().matches("^\\d*$") && textField1.getText().matches("^\\d*$")) {
 
                            getValue(textField, textField1, 1.56, 1.5);
                        } 
else {
                            
                            JOptionPane.showMessageDialog(null, "Заполните правильно заявку!", "Ошибка", JOptionPane.PLAIN_MESSAGE);
                        }   
                    } 
                    
                    else {
                        
                        JOptionPane.showMessageDialog(null, "Заполните правильно заявку!", "Ошибка", JOptionPane.PLAIN_MESSAGE);
                    }
                }
                
                else {
                    
                    JOptionPane.showMessageDialog(null, "Заявка пуста!", "Ошибка", JOptionPane.PLAIN_MESSAGE);
                }
            }
        });
 
public void getValue(JTextField textField, JTextField textField1, double contransp, double confood) {
        
        calc.getconsttransp(contransp);
        calc.getconstfood(confood);
        Calculator.countnight = Double.parseDouble(textField.getText());
        Calculator.countpeople = Double.parseDouble(textField1.getText());
        JOptionPane.showMessageDialog(null, "Заявка отправлена!", "Информация о заявке", JOptionPane.PLAIN_MESSAGE);
    
    }


Здесь пытаюсь получить значения при помощи сеттеров
Кликните здесь для просмотра всего текста
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
public class classAdminFrame extends JFrame {
    
    Calculator calc = new Calculator();
 
    public void sendTourCost(JButton button, JLabel label, String answer2, JTextField textFieldFoodPrice, JTextField textFieldProcent, 
            JTextField textFieldTourPrice, JTextField textFieldTransportPrice) {
        
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                
                if (label.getText() != answer2) {
                    
                    if (!textFieldFoodPrice.getText().equals("0") && !textFieldProcent.getText().equals("0")
                            && !textFieldTourPrice.getText().equals("0") && !textFieldTransportPrice.getText().equals("0")) {
                        
                        if (!textFieldFoodPrice.getText().equals(null) && !textFieldFoodPrice.getText().isEmpty() 
                                && !textFieldProcent.getText().equals(null) && !textFieldProcent.getText().isEmpty()
                                && !textFieldTourPrice.getText().equals(null) && !textFieldTourPrice.getText().isEmpty()
                                && !textFieldTransportPrice.getText().equals(null) && !textFieldTransportPrice.getText().isEmpty() ) {
                            
                            if (textFieldTourPrice.getText().matches("^\\d*$") && textFieldTransportPrice.getText().matches("^\\d*$")
                                    && textFieldFoodPrice.getText().matches("^\\d*$") && textFieldProcent.getText().matches("^\\d*$")) {
                                Calculator.priceonetourist = Double.parseDouble(textFieldTourPrice.getText());
                                Calculator.pricetransport = Double.parseDouble(textFieldTransportPrice.getText());
                                Calculator.pricefood = Double.parseDouble(textFieldFoodPrice.getText());
                                Calculator.procent = ((Double.parseDouble(textFieldProcent.getText()) / 100) + 1);
                                Calculator.tourcost = Calculator.SetToutCost(Calculator.countnight, Calculator.countpeople, calc.setconsttransp(), calc.setconstfood(), Calculator.priceonetourist, Calculator.pricetransport, Calculator.pricefood, Calculator.procent);
                                JOptionPane.showMessageDialog(null, "Стоимость тура отправлена!", "Информация о заявке", JOptionPane.PLAIN_MESSAGE);
                            }
                            else {
                                JOptionPane.showMessageDialog(null, "Обработайте правильно заявку!", "Ошибка", JOptionPane.PLAIN_MESSAGE);
                            }   
                        }
                        else {
                            JOptionPane.showMessageDialog(null, "Обработайте правильно заявку!", "Ошибка", JOptionPane.PLAIN_MESSAGE);
                        }
                    }
                    
                    else {
                        JOptionPane.showMessageDialog(null, "Обработайте правильно заявку!", "Ошибка", JOptionPane.PLAIN_MESSAGE);
                    }
                }
                else {
                    JOptionPane.showMessageDialog(null, "Заявки нет!", "Информация", JOptionPane.PLAIN_MESSAGE);
                }
            }
        });
        
    }
    
    
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2017, 11:57
Ответы с готовыми решениями:

Добавить корректные getter и setter-методы
Здравствуйте. Подскажите пожалуйста по вопросу: Задание по теме "работа со строками и регулярные выражения". Задание: В Java...

Setter и getter
Так и не понял смысл set и get в объектах js. Можно же использовать обычные методы ? В чем кардинальные отличия ? Добавлено через 48...

Setter / Getter
Добрый день. Подскажите как сделать. Вот пример кода. class Obj { constructor () { this._position = {'x':0,'y':0,'z':0}; ...

7
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
17.04.2017, 12:47
Все термины перепутаны.
getter - от глагола get - получать.
setter - от глагола set - устанавливать.
А по поводу
Цитата Сообщение от damirqa Посмотреть сообщение
Не могу получить значения.
тут наверное где то ошибка в другом
0
11 / 10 / 4
Регистрация: 08.03.2016
Сообщений: 333
17.04.2017, 20:29  [ТС]
_ViPeR_, думаю что именно в этих сеттерах и геттерах. До этого я обращался к переменным при помощи public static и всё работало.
Если напутал, то получается
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    public double getconsttransp() {
        return constantatransport;
    }
    
    public void setconsttransp(double setcontransp) {
        this.constantatransport = setcontransp;
    }
    
    public double getconstfood() {
        return constantafood;
    }
    
    public void setconstfood(double setconfood) {
        this.constantafood = setconfood;
    }


Добавлено через 53 минуты
проверил
именно из - за этих методов не могу получить то значение, которое мне нужно
как правильно использовать эти методы?
0
9 / 9 / 3
Регистрация: 20.04.2016
Сообщений: 33
17.04.2017, 21:20
сделай сначала отдельный класс для формы к примеру:
Java
1
2
public class Form extends JPanel{
...
и добавь туда все JTextField-ы,JCheckBox-ы и JRadioButton-ы
Java
1
2
private JTextField nameField = new JTextField(10);
...
потом добавь всё в конструктор
Java
1
2
3
4
5
6
7
8
public Form(){
    setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
    JPanel row1 = new JPanel();
    row1.add(new JLabel("Name: "));
    row1.add(nameField);
    add(row1);
    ...
}
ну и все Getter-ы
Java
1
2
3
4
public String getName(){
    return nameField.getText();
}
...
0
11 / 10 / 4
Регистрация: 08.03.2016
Сообщений: 333
17.04.2017, 21:56  [ТС]
Ivan_FX, я вот исправил переменную сделал как private static, а геттер как public static double.
вызываю геттер по имени класса в другом классе
в том коде где я использовал геттер в методе была проблема в том, что метод был статичным, а геттер нет.
сделал такой вывод почитав на сайте
1) Вы НЕ можете получить доступ к НЕ статическим членам класса, внутри статического контекста, как вариант, метода или блока. Результатом компиляции приведенного ниже кода будет ошибка:
0
9 / 9 / 3
Регистрация: 20.04.2016
Сообщений: 33
17.04.2017, 22:44
что делают JCheckBox checkBox, JCheckBox checkBox1, JRadioButton radioBtn, JRadioButton radioBtn1, JRadioButton radioBtn2 в классе ClassClientFrame?

Добавлено через 4 минуты
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
public class Calculator{
    public static double nightCount;
    public static double peopleCount;
    public static double priceForTourist;
    public static double priceForTransport;
    public static double priceForfood;
    public static double procent;
    public static String tourcost;
    private double transportCost;
    private double foodCost;
 
    public Calculator(){}
 
    public static String getTotalCost(Calculator calculator, double nightCount, double peopleCount, double priceForTourist, double priceForTransport, double priceForfood, double procent){
        double totalCost = ((priceForTourist * nightCount * peopleCount)+
                              (priceForTransport * peopleCount * calculator.transportCost)+
                              (priceForfood * peopleCount * nightCount * calculator.foodCost))* procent;
        return Double.toString(totalCost);
    }
 
    public double getTransportCost(){
        return transportCost;
    }
 
    public void setTransportCost(double newCost){
        this.transportCost = newCost;
    }
 
    public double getFoodCost(){
        return foodCost;
    }
 
    public void setFoodCost(double newCost){
        this.foodCost = newCost;
    }
}
0
11 / 10 / 4
Регистрация: 08.03.2016
Сообщений: 333
17.04.2017, 23:20  [ТС]
Ivan_FX, в зависимости от того что выбрано присваивается то или иное значение
0
9 / 9 / 3
Регистрация: 20.04.2016
Сообщений: 33
17.04.2017, 23:27
напиши конкретно что присваивается я попробую оформить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.04.2017, 23:27
Помогаю со студенческими работами здесь

Getter Setter
class point { private: int x; int y; public: int getX() { return x;

вопрос о getter\setter
дан код, который трактуется как образец. class Foo { Value field_; public: // функция 1 Value& field() { ...

Auto-generator Of Getter/setter
Доброе время суток, Уважаемые форумчане! Данная утилита облегчает рутинную работу по созданию приватных переменных и последующую...

Getter, Setter в Android Studio
Всем привет, столкнулся с проблемой в Android Studio. Создал класс Money, в котором есть get и set, взаимодействуют они с файлом внутри...

Почитать о Generic и Getter\Setter
Где можно почитать о Generic и Getter\Setter? Добавлено через 18 минут Почитать об этом*


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты 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 и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru