20.05.2013 / 23:08 | |
Nokia_372Oc Пользователь
| Нужна помощь. //Есть переменная num.
int num = 93;
//Есть строка s;
String s = ""+num+"";
/* Как мне прочитать первый и второй символ строки s и занести их в переменые типа int. Допустим в s1 - первый символ, а в s2 - второй. */
Кто скажет? |
20.05.2013 / 23:17 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| класс String посмотри, возможно в нем есть какой метод делающий такое
__________________
знает толк |
20.05.2013 / 23:20 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| 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 Пользователь
| 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 Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| внимательно вдумайся в пост Вити и сразу поймешь
__________________
знает толк |
20.05.2013 / 23:33 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Nokia_372Oc при смени значения переменной отвечающей за исходную строку мы в переменых получим новые символы?Ты хочешь автоматически, чтоб в переменных обновлялись значения? Если ты хочешь именно разложить число на составные числа, то строки тут не причём, юзай математические операции. int s1 = (int) (num / 10), s2 = num % 10 __________________
let live |
20.05.2013 / 23:36 | |
Nokia_372Oc Пользователь
| aNNiMON, Да, имено это. Сейчас испытаю твой код. Спасибо.
|
20.05.2013 / 23:46 | |
abadon Пользователь Сейчас: Offline
Имя: Серёжа Откуда: Москва Регистрация: 05.05.2013
| 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 Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| % - деление с остачей
__________________
знает толк |
20.05.2013 / 23:48 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| 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 раза) |