Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
disx
23 / 23 / 0
Регистрация: 26.02.2014
Сообщений: 619
Записей в блоге: 1
1

Как передать параметры из одного класса в другой?

13.05.2014, 00:07. Просмотров 3493. Ответов 2
Метки нет (Все метки)

Есть класс Phase, в нем метод:

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
public static double phase(double pdate, RefDouble pphaseR,
            RefDouble mageR, RefDouble distR, RefDouble angdiaR,
            RefDouble sudistR, RefDouble suangdiaR) {
        double Day, N, M, Ec, Lambdasun, ml, MM, Ev, Ae, A3, MmP, mEc, A4, lP, V, lPP, MoonAge, MoonPhase, MoonDist, MoonDFrac, MoonAng, F, SunDist, SunAng;
 
        // Calculation of the Sun's position.
 
        Day = pdate - epoch; // date within epoch
        N = fixangle((360 / 365.2422) * Day); // mean anomaly of the Sun
        M = fixangle(N + elonge - elongp); // convert from perigee co-ordinates
                                            // to epoch 1980.0
        Ec = kepler(M, eccent); // solve equation of Kepler
        Ec = Math.sqrt((1 + eccent) / (1 - eccent)) * Math.tan(Ec / 2);
        Ec = 2 * todeg(Math.atan(Ec)); // true anomaly
        Lambdasun = fixangle(Ec + elongp); // Sun's geocentric ecliptic longitude
        // Orbital distance factor.
        F = ((1 + eccent * Math.cos(torad(Ec))) / (1 - eccent * eccent));
        SunDist = sunsmax / F; // distance to Sun in km
        SunAng = F * sunangsiz; // Sun's angular size in degrees
 
        // Calculation of the Moon's position.
 
        // Moon's mean longitude.
        ml = fixangle(13.1763966 * Day + mmlong);
 
        // Moon's mean anomaly.
        MM = fixangle(ml - 0.1114041 * Day - mmlongp);
 
        // Evection.
        Ev = 1.2739 * Math.sin(torad(2 * (ml - Lambdasun) - MM));
 
        // Annual equation.
        Ae = 0.1858 * Math.sin(torad(M));
 
        // Correction term.
        A3 = 0.37 * Math.sin(torad(M));
 
        // Corrected anomaly.
        MmP = MM + Ev - Ae - A3;
 
        // Correction for the equation of the centre.
        mEc = 6.2886 * Math.sin(torad(MmP));
 
        // Another correction term.
        A4 = 0.214 * Math.sin(torad(2 * MmP));
 
        // Corrected longitude.
        lP = ml + Ev + mEc - Ae + A4;
 
        // Variation.
        V = 0.6583 * Math.sin(torad(2 * (lP - Lambdasun)));
 
        // True longitude.
        lPP = lP + V;
 
        // Calculation of the phase of the Moon.
 
        // Age of the Moon in degrees.
        MoonAge = lPP - Lambdasun;
 
        // Phase of the Moon.
        MoonPhase = (1 - Math.cos(torad(MoonAge))) / 2;
 
        // Calculate distance of moon from the centre of the Earth.
 
        MoonDist = (msmax * (1 - mecc * mecc))
                / (1 + mecc * Math.cos(torad(MmP + mEc)));
 
        // Calculate Moon's angular diameter.
 
        MoonDFrac = MoonDist / msmax;
        MoonAng = mangsiz / MoonDFrac;
 
        pphaseR.val = MoonPhase;
        mageR.val = synmonth * (fixangle(MoonAge) / 360.0);
        distR.val = MoonDist;
        angdiaR.val = MoonAng;
        sudistR.val = SunDist;
        suangdiaR.val = SunAng;
        return torad(fixangle(MoonAge));
    }
нужно расчитать моменты фаз Луны используя методы jd, pphaseR, mageR, distR, angdiaR, sudistR, suangdiaR

и передать их в текстовое поле в другом классе? т.е. с расчетами сам наверное разберусь а вот как передать не могу понять? Помогите...
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2014, 00:07
Ответы с готовыми решениями:

Передать экземпляр класса в другой класс
Подскажите как сделать класс который будет принимать как входной параметр, экземпляр других классов?

Передача значения из одного класса в другой
Доброго времени суток! Проблема следующая: В MainActivity моего проекта лежит список, мне нужно...

Ошибка передачи данных из одного класса в другой
В приложении в первом окне пользователь вводит логин (email) и пароль. Я почту пытаюсь передать в...

Как передать параметры конструктора одного класса другому?
Скажите пожалуйста, как это должно работать? Как передать параметры конструктора одного класса...

Как передать входящее значение одного метода класса на возврат в другой метод того же класса?
Я самый новейший новичок. Помогите.Как передать входящее значение (количество еды) метода feed...

2
Vladimirys
320 / 215 / 29
Регистрация: 16.01.2010
Сообщений: 632
13.05.2014, 01:19 2
Можно объявить все переменные какие вы хотите передать, как static.
В новом классе, к ним можно будет обратиться так - Имя класса.переменная
Можно так,
Активити из которого передаём

Java
1
2
3
Intent intent = new Intent(SendingActivity.this, RecievingActivity.class);
intent.putExtra("keyName", value);  
startActivity(intent);
И, в котором принимаем
Java
1
2
3
Bundle extras = intent.getExtras();
 if(extras != null)
String data = extras.getString("keyName"); Тут можно получить как строки, так и числа. заменив "Стринги", на то что нам нужно, передавать при этом нужно тот же тип данных.
1
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
13.05.2014, 14:52 3
disx, создайте такие же переменные в другом классе. в классе куда нужно передать значения используйте что то типо:

Java
1
2
3
setValue(int a, int b){
newA = a;
newB = b;}
этот метод когда нужно передать данные в другой класс.

Или просто создавайте новый экземпляр класса когда данные изменятся.

Если же вы хотите вывести посчитанную информацию в вьюху то используйте метод runOnUiThread;
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2014, 14:52

Как передать переменную из одного класса в другой
Есть окружность, а по ней в свою очередь движется точка. Часть кода: import javax.swing.*; ...

Как передать переменные из одного класса в другой?
Привет всем! Не могу разобраться с вопросом: я создал программу в WinForms, суть ее в том, что есть...

Как передать переменную из одного класса в другой?
Доброго времени суток. Говорю сразу, я новичек. Только начинаю свой тернистый путь. У меня...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.