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 раза) |