Вниз  Java-программирование (1-ые посты)
- 20.05.2013 / 23:08
Nokia_372Oc
  Пользователь

Nokia_372Oc 
Нужна помощь. :gg:
  1. //Есть переменная num.
  2. int num = 93;
  3. //Есть строка s;
  4. String s = ""+num+"";
  5.  
  6. /* Как мне прочитать первый и второй символ строки s и занести их в переменые типа int. Допустим в s1 - первый символ, а в s2 - второй. */
Кто скажет?
- 20.05.2013 / 23:17
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
класс String посмотри, возможно в нем есть какой метод делающий такое
__________________
 знает толк
- 20.05.2013 / 23:20
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Nokia_372Oc,
код символов?
int s1 = s.charAt(0), s2 = s.charAt(1);

Если именно значение нужно, то:
1. int s1 = s.charAt(0) - '0', s2 = s.charAt(1) - '0';
2. int s1 = Integer.parseInt(s.substring(0, 1)), s2 = Integer.parseInt(s.substring(1));
3. int s1 = Integer.parseInt(s) / 10, s2 = Integer.parseInt(s) % 10
__________________
 let live
- 20.05.2013 / 23:30
Nokia_372Oc
  Пользователь

Nokia_372Oc 
aNNiMON, Есле юзать это то при смени значения переменной отвечающей за исходную строку мы в переменых получим новые символы?

int s1 = s.charAt(0) -'0';
int s2 = s.charAt(1) - '0';
/* Это имеет отношение к первому примеру или это другой способ? */
int s1 = Integer.parseInt(s.substring(0, 1));
int s2 = Integer.parseInt(s.substring(1));

P.S. Нет, сам символ. Разложить 93 на 9 и 3 в две разные переменные.
- 20.05.2013 / 23:31
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
внимательно вдумайся в пост Вити и сразу поймешь
__________________
 знает толк
- 20.05.2013 / 23:33
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Nokia_372Oc при смени значения переменной отвечающей за исходную строку мы в переменых получим новые символы?Ты хочешь автоматически, чтоб в переменных обновлялись значения?

:ps: Если ты хочешь именно разложить число на составные числа, то строки тут не причём, юзай математические операции.
int s1 = (int) (num / 10), s2 = num % 10
__________________
 let live
- 20.05.2013 / 23:36
Nokia_372Oc
  Пользователь

Nokia_372Oc 
aNNiMON, Да, имено это. Сейчас испытаю твой код. Спасибо.
- 20.05.2013 / 23:46
abadon
  Пользователь

abadon 
Сейчас: Offline
int s1 = (int) (num / 10), s2 = num % 10Что значит этот %?
И как делить нацело? Типа 10/2 = 5 - целое число. А 11/2 = 5.5 - не целое число (в нашем случае дробное).
Тобишь если делится нацело, то произвести действие, а иначе ничего.

Изменено abadon (20.05 / 23:48) (всего 1 раз)
- 20.05.2013 / 23:48
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
% - деление с остачей
__________________
 знает толк
- 20.05.2013 / 23:48
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
abadon, книгу по программированию на Java марш читать. Первые главы - про математические операции в языках программирования.
% - остаток от деления.
46 % 10 = 6 (т.к 46 / 10 = 4 целых и 6 в остатке)
И как делить нацело?Это зависит от того, какой тип данных фигурирует в выражении.
int / int = int => 15 / 4 = 3
int / double = double => 15 / ((double) 4) = 3.75
__________________
 let live

Изменено aNNiMON (20.05 / 23:53) (всего 2 раза)
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)