Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 1
Регистрация: 31.01.2014
Сообщений: 80

Создание класса и вызов его методов

10.09.2015, 18:00. Показов 651. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код:
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
public class DIYliq extends AppCompatActivity implements View.OnClickListener, SeekBar.OnSeekBarChangeListener {
//...
int GlobalA;
//...
@Override
public void onClick(View v) {
    switch(v.getId()) {
        case R.id.EditText:
        int A = Integer.parseInt(EditText.getText().toString());        
        int N = //Some calculations with int A...
        if (N>0){GlobalA=1}else{GlobalA=0}
        break;
            }
@Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
 
        switch(seekBar.getId()) {
        case R.id.SeekBar:
        EditText.setText(String.valueOf(SeekBar.getProgress()));
        break;
            }
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
        switch(seekBar.getId()) {
        case R.id.SeekBase:
        int A = Integer.parseInt(EditText.getText().toString());        
        int N = //Some calculations with int A...
        if (N>0){GlobalA=1}else{GlobalA=0}
        break;
            }
В коде есть идентичные строки, в которых выполняются расчёты:


Насколько я понимаю, необходимо создать класс, в котором будут прописаны математические действия, а из методов onClick и onStopTrackingTouch уже вызывать метод вышеупомянутого класса.

Так как во всём коде будет много подобных повторений с разными расчётами, нужно создать класс, в котором будут несколько методов (для каждого из повторений). Верно?

То есть, как-то так (схематически):

Java
1
2
3
4
5
6
class Calculations {
    void method_one(SeekBar seekBar, EditText editText){ //body of method 
    }
    void method_two(SeekBar seekBar, EditText editText){ //body of method 
    }
}
Вопрос, собственно, в том, как правильно написать сам класс (и куда его впихнуть в коде, он должен быть внутри класса public class DIYliq, или за его пределами?) и как потом использовать его методы в коде?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.09.2015, 18:00
Ответы с готовыми решениями:

Реализовать ввод исходных данных, расчет и вывод данных в виде методов класса. В Main только создание объектов и вызов методов
Всем привет) помогите пожалуйста с заданием "Реализовать ввод исходных данных, расчет и вывод данных в виде методов класса. В Main только...

Вызов методов классов друг у друга (вызов метода из другого класса)
Есть несколько классов, которые могут вызывать методы (функции) друг у друга. Логика: класс1 имеет метод А, класс2 имеет метод Б, класс1...

Создание объекта класса и вызов его метода
Добрый день, форумчане. На Яве программирую не больше недели. Столкнулся со следующей проблемой. Есть 2 класса Class1 и Class2 с методом...

2
 Аватар для Valakin
435 / 101 / 15
Регистрация: 21.02.2015
Сообщений: 845
11.09.2015, 08:03
Цитата Сообщение от mathahakar Посмотреть сообщение
Вопрос, собственно, в том, как правильно написать сам класс (и куда его впихнуть в коде, он должен быть внутри класса public class DIYliq, или за его пределами?) и как потом использовать его методы в коде?
думается можно класс написать в отдельном mmm.java
потом импортируете его import mmm и создаете объект класса, после импорта можно и методы вызывать
1
2 / 2 / 1
Регистрация: 31.01.2014
Сообщений: 80
14.09.2015, 22:09  [ТС]
Ничего не вышло, подскажите, пожалуйста ошибку.
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
Calculations.java:
package com.e_cigcalculations.e_cigliq;
 
public class Calculations {
        int getMaxStrength(int a, int b){
        int c = a + b;
            return c;
        }
}
 
Фрагмент из MainActivity.java:
 
//Objects
    Calculations calculations = new Calculations();
 
    //Globals
    int OutStrengthMax, OutStrengthMin, LowNic, HighNik, a, b;
 
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.Liq1et:
                a = Integer.parseInt(Liq1et.getText().toString());
                Liq2et.requestFocus();
                break;
            case R.id.Liq2et:
                b = Integer.parseInt(Liq2et.getText().toString());
                Liq2et.requestFocus();
                int sum;
                sum = Integer.parseInt(String.valueOf(calculations.getMaxStrength(a, b)));
                OutStrengthMax = sum;
                LiqOutStrengthet.setText(OutStrengthMax);
                break;
            case R.id.LiqOutStrengthet:
                int strength = Integer.parseInt(LiqOutStrengthet.getText().toString());
                SeekStrengthBar.setProgress(strength);
                LiqVolumeet.requestFocus();
                break;
        }
 
    }
При клике на Liq2et крашится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.09.2015, 22:09
Помогаю со студенческими работами здесь

Вызов методов класса из двойного указателя на экземпляр класса
Добрый день! Как можно вызвать метод класса по двойному указателя на его экземпляр? struct Point { void getPoint(){}; ...

Создание класса "Счет" и его методов
Сделал всё по заданию в программе Visual Paradigm создал и сгенерировал класс. Не пойму как сделать изменение счёта, если переменная...

Вызов методов класса
Доброго дня! Ребят, подскажите, пожалуйста, что означает следующий код: ClassName::methodOne(1)->methidTwo(2); ...

Вызов методов класса
Добрый вечер,подскажите пожалуйста как правильно вызвать методы. Создайте класс CarOwner,который будет создавать экземпляр объекта Car и...

Вызов методов класса
Подскажите пожалуйсто, как из класса (созданного не в основном коде) вызвать функцию?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru