Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
bako-95
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
#1

Переменная не получает отрицательное значение - Программирование Android

22.08.2015, 19:44. Просмотров 234. Ответов 6
Метки нет (Все метки)

Всем привет! Если эта тема уже была то извиняюсь, просто даже не знаю как её прогуглить гуглить

Имеется код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
Random randproc = new Random();
                int randomproc = randproc.nextInt(101)-50;
 
                        double proc1 = (randomproc*0.01);
                        double proc2 =  (18.6*proc1);
                        sPref = getSharedPreferences("GLOBAL_MASS", MODE_MULTI_PROCESS);
                        String savedText = sPref.getString(GLOBAL_MASS, "");
                        double proc3 = Double.valueOf(savedText);
                        double proc4 = proc3+(proc3*proc2);
                        String proc5 = String.valueOf(proc4);
                        SharedPreferences.Editor ed = sPref.edit();
                        ed.putString(GLOBAL_MASS, proc5);
                        ed.commit();
Проблема в том, что когда randomproc имеет отрицательное значение, то строка
Java
1
double proc1 = (randomproc*0.01);
не выполняется(переменная остается без значения). Даже
Java
1
double proc1 = randomproc
не работает если randomproc меньше ноля. В чем проблема?

Добавлено через 15 минут
даже если все double поменять в int, все ровно ничего не получается
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2015, 19:44     Переменная не получает отрицательное значение
Посмотрите здесь:

Отрицательное значение id в SQLite - Программирование Android
Добавляю запись в БД ContentValues cv = new ContentValues(); db = openOrCreateDatabase("myDB.db", SQLiteDatabase.OPEN_READWRITE,...

Bitmap не получает цвета с экрана - Программирование Android
делаю приложение которое работает с камерой через обьект SurfaceView, нужно при касании на экране получить цвет пикселя, выводил в лог и...

XmlPullParser неправильно получает значения - Программирование Android
Здравствуйте. Пытаюсь написать обработку XML сообщения от сервера, получить правильно данные (ссылку на изображение и имя), загрузить...

Клиент на Android не получает данные с сервера - Программирование Android
Сервер на компе, написан на .Net, клиент на Android, ставится на устройство. Находясь в одной сети клиент подключается к серверу на .Net,...

Нужен пример работы Socked клиента, который получает некую инфу от сервера - Программирование Android
Может кто скинуть пример работы Socked клиента, который получает некую инфу от сервера? Я хочу сделать мониторинг игрового сервера с...

BroadcastReceiver + static переменная - Программирование Android
Работая с бродкаст ресивером задался вопросом, как же он всё-таки работает?) Есть следующий код, который фиксирует состояние телефонного...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
22.08.2015, 19:45     Переменная не получает отрицательное значение #2
bako-95, а как ты определяешь что она без значения остаётся? Выведи лог после её инициализации и посмотри.
bako-95
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
22.08.2015, 19:52  [ТС]     Переменная не получает отрицательное значение #3
Mikalai, далее следует код
Java
1
2
GoldNews2.setText("" +  proc1);
                        break;
если randomproc имеет положительное число, то все прекрасно отображается. Я через нее прогонял все переменные.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
22.08.2015, 19:54     Переменная не получает отрицательное значение #4
зачем там ещё break? покажи весь код.
bako-95
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
22.08.2015, 20:02  [ТС]     Переменная не получает отрицательное значение #5
Вот код. Рандом пока остановил чтобы только 14-й срабатывал
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
 void GoldNews0(){
                {Random randsok = new Random();
                int randomSok = 14;//randsok.nextInt(15);
                Random randproc = new Random();
                int randomproc = randproc.nextInt(101)-50;
            switch (randomSok){
                
                case 14:{
                    if (randomproc<0) {GoldNews1.setText("Добыча золото в Россий " + randomproc + "%" );} else {
                        GoldNews1.setText("Добыча золото в Россий + " + randomproc + "%" );
                        sPref = getSharedPreferences("GLOBAL_MASS", MODE_MULTI_PROCESS);
                        String savedText = sPref.getString(GLOBAL_MASS, "");
 
 
                        double proc3 = Double.valueOf(savedText);
                        int proc1 = (randomproc);
                        double proc2 =  (1.9*0.01)*proc1;
 
                        double proc4 = proc3+(proc3*proc2);
                        String proc5 = String.valueOf(proc4);
                        sPref = getSharedPreferences("GLOBAL_MASS", MODE_MULTI_PROCESS);
                        SharedPreferences.Editor ed = sPref.edit();
                        ed.putString(GLOBAL_MASS, proc5);
                        ed.commit();
                        GoldNews2.setText("" +  proc1);
                        break;
                    }
                }
            }
Согласен что код ужасен, еще только учусь

Добавлено через 3 минуты
Mikalai, могу попробовать весь код отправить. Около 5-6 сотен строк
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
22.08.2015, 20:09     Переменная не получает отрицательное значение #6
после инициализации этой переменной поставь вывод в лог
Java
1
Log.d("myLog", "proc1 = " + proc1);
смотри логи по тегу "myLog". Думаю она нормально инициализируется.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2015, 20:40     Переменная не получает отрицательное значение
Еще ссылки по теме:

Глобальная переменная в Java - Программирование Android
Подскажите нубу. Недавно начал изучать Java. У меня в методе onClick есть свич для обработки кнопок. Вот отрывок для одной кнопки: public...

Ява потокобезопасная переменная - Программирование Android
Помогите пожалуйста с теорией потоко-безопасных переменных! Основы знаю(для Делфи учил), но на практике (в яве) еще не применял... ...

Переменная прозрачность в диалоге - Программирование Android
Можно ли штатными средствами сдалать такое: маленький диалог - форма с двумя кнопками ДА и НЕТ. Форма полупрозрачная, а кнопки нет!...

Переменная типа Uri - Программирование Android
программа у меня при запуске предлагает выбрать фото из произвольного местал, после выбора я получаю fileUri тип этой переменной Uri, но...


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

Или воспользуйтесь поиском по форуму:
bako-95
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
22.08.2015, 20:40  [ТС]     Переменная не получает отрицательное значение #7
Mikalai,
Ошибка была в моей логике
Строка
Java
1
if (randomproc<0) {GoldNews1.setText("Добыча золото в Россий " + randomproc + "%" );} else {
уже говорит что при отрицательном значений сторона елсе не срабатывает
Yandex
Объявления
22.08.2015, 20:40     Переменная не получает отрицательное значение
Ответ Создать тему
Опции темы

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