|
|
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
Нужно распарсить строку result_ti (типа 21:53:24:55) в массив из целых чисел. Код ниже разбивает строку (длина строки каждый раз меняется) на строковый вектор цифр all_ti, где 21 записывается как строка, а нужно в integer и записать в массив ArrayTI[a] по b. b=1000. while (rs.next()) { result_ti = rs.getString("ti"); //Оцифровка строки String ss = ""; int j2; j2 = result_ti.indexOf(":"); while(j2 > 0){ ss = result_ti.substring(0,j2); result_ti = result_ti.substring(j2 + 1); j2 = result_ti.indexOf(":"); all_ti.add(ss); /*for ( int a = 0; a < ArrayTI.length; a++ ) {//allTreeNames.size() for ( int b = 0; b < ArrayTI[a].length; b++ ) {//all_ti.size() ArrayTI[a]=all_ti.get(b).toString(); } }*/ } // Здесь наверно должен быть массив ArrayTI[a] вместо вектора all_ti } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 14:30 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 14:34 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
taison //Оцифровка строки Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 14:41 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
Denis Popov taison //Оцифровка строки Код: plaintext 1. 2. 3. 4. Спасибо, цифры появились. Хотел сразу в массив записать, выдаёт что не соответствуют типы (треб int, имеется -Obj). Предварительно цисла в вектор all_ti прописывать что ли? StringTokenizer tokenizer = new StringTokenizer(result_ti, ":"); while (tokenizer.hasMoreTokens()) { //System.out.println(tokenizer.nextToken()); for ( int a = 0; a < ArrayTI.length; a++ ) { for ( int b = 0; b < ArrayTI[a].length; b++ ) { //System.out.println("ПЕЧАТАЕМ ArrayTI["+a+"]["+b+"]="+ArrayTI[a].length); ArrayTI[a] =tokenizer.nextElement(); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 15:23 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
Я ж давал ссылку. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 15:31 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 15:33 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
String можно сразу распилить в массив используя String.split(String regex) А потом intArr =Integer.parseInt(stringArr) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 15:42 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
intArr =Integer.parseInt(stringArr) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 15:44 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
Если сделать вид, что лишний вызов new Integer, генерация регэкспов или строк в токенайзере позволительная роскошь, то ок. Иначе в лоб (хотя тоже не оптимально): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 19:20 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2005, 19:28 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
Не сработал ваш код у меня. Я сделал по другому. Но проблемка, в том что надо ещё проверять строку, так как в ней содержатся буквы. Я пытаюсь выкинуть тоукены начинающиеся с буквы. Получаю ругань java.util.NoSuchElementException на строку [ArrayTI[a] =(int) new Double(tokenizer.nextElement().toString()).doubleValue();] while (rs.next()) { result = rs.getString("tree_items"); result_ti = rs.getString("ti"); allTreeNames.add(result); StringTokenizer tokenizer = new StringTokenizer(result_ti, ":"); int chislo=tokenizer.countTokens();//подсчёт числа ":" while (tokenizer.hasMoreTokens()) { if ((int)tokenizer.nextToken().charAt(0)<48 && (int)tokenizer.nextToken().charAt(0)>57) //tokenizer.nextToken(); chislo=chislo-1; else {System.out.println("ПЕЧАТАЕМ chislo"+chislo); ArrayTI=new int [allTreeNames.size()][];//выделение памяти для строк 2м массива for ( int a = 0; a < allTreeNames.size(); a++ ) { ArrayTI[a]=new int [chislo];//выделение памяти для столбца строки i all_ti.size() for ( int b = 0; b < chislo ; b++ ) {//all_ti.size() ArrayTI[a]=-1; //new Integer(tokenizer.nextElement()).intValue(); ArrayTI[a]=(int) new Double(tokenizer.nextElement().toString()).doubleValue(); } } //System.out.println("ПЕЧАТАЕМ ArrayTI["+a+"]["+b+"]="+ArrayTI[a].length); //int chislo=Integer.parseInt(result_ti); System.out.println("ПЕЧАТАЕМ ArrayTI["+a+"]["+b+"]="+ArrayTI[a]); } } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 06:55 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
Дело в том, что ты два раза вызываешь, вначале tokenizer.nextToken(), а затем tokenizer.nextElement(). Вызови один раз вначале цикла Object tmp = tokenizer.nextElement(); а затем работай с этим объектом, тогда и ошибка java.util.NoSuchElementException вылетать не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 09:31 |
|
||
|
Как превратить строку цифр в integer?
|
|||
|---|---|---|---|
|
#18+
OK, а почему такая конструкция не обнуляет тоукены начинающиеся с буквы? ArrayTI=new int [200][];//выделение памяти для строк 2м массива allTreeNames.size() for ( int a = 0; a < 200; a++ ) { ArrayTI[a]=new int[200];//выделение памяти для столбца строки a for ( b = 0; b < 200; b++ ) { ArrayTI[a] =-1;//заполнение массива -1 } } int a = 0; allTreeNames.size() while (rs.next()) { result = rs.getString("tree_items"); result_ti = rs.getString("ti");//достаём строку из БД System.out.println("ПЕЧАТАЕМ строку ti="+result_ti); allTreeNames.add(result);//записываем строку в вектор StringTokenizer tokenizer = new StringTokenizer(result_ti, ":");//разбор строки по двоеточиям int chislo=tokenizer.countTokens();//подсчёт числа ":" //for ( int a = 0; a < 50; a++ ) {//allTreeNames.size() int b = 0; Object tmp; while (tokenizer.hasMoreTokens()) { tmp = tokenizer.nextToken(); if ((int)tmp.toString().charAt(0)<48 && (int)tmp.toString().charAt(0)>57) {chislo=chislo-1; tmp = null; //tokenizer.nextToken(); System.out.println("ПЕЧАТАЕМ chislo="+chislo);} else { int PP=(int) new Double(tmp.toString()).doubleValue(); //ArrayTI[a]=PP; System.out.println("ПЕЧАТАЕМ ArrayTI["+a+"]["+b+"]="+PP);//ArrayTI[a] //} b++; } } a++; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 14:17 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=777&tid=2151283]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 348ms |

| 0 / 0 |
