Dostaje z góry ustaloego Stringa np
String mojString="2 -3 40 56 33 18 5382 2";
I chcę uzyskać z niego wszystkie liczby w postaci int. Czyli na przykład mieć je w tablicy.
int[] mojeLiczby = {2, -3, 40, 56, 33, 18, 5382, 2 };
Na razie wypociłem coś takiego, ale wydaje mi się że jest to wysoko nieefektywne raz, a dwa mam problem z zczytywaniem liczb większych niż 10 .
int[] tab = new int[N];
int[] tabBezMinusow = new int[N];
char[] charTab = new char[TEMPS.length()];
boolean minus = false;
charTab = TEMPS.toCharArray();
int i = 0;
for(int j=0; j<TEMPS.length(); j++)
if( !(Character.isWhitespace(charTab[j]))){
try{
if(minus == false){
tabBezMinusow[i] = tab[i] = Integer.parseInt(String.valueOf(charTab[j]));
i++;
}else{
minus = false;
tab[i] = (Integer.parseInt(String.valueOf(charTab[j])))*(-1);
tabBezMinusow[i] = Integer.parseInt(String.valueOf(charTab[j]));
i++;
}
}catch(Exception e){
minus = true;
}
}
Powyżej w skrócie: TEMPS to moj String. Przerzucam go do tablicy z charów(6), z którego następnie zczytuje liczby(13) omijajac biale znaki(10), a minus obsluguje wyjatkiem(21). Reszta nie jest istotna dla was .
Będe wdzięczny za jakieś wskazówki .