Miten teen java-koodinpätkän, joka palauttaa int-tyyppisen taulukon arvoista int-tyyppisen kokonaisluvun siten, että taulukon ensimmäinen alkio on syntyvän int-luvun ensimmäinen numero jne?
Vai onko tähän olemassa joku valmis metodi, joka muodostaa taulukon int-arvoista yhden int-luvun?
Vai onko tähän olemassa joku valmis metodi, joka muodostaa taulukon int-arvoista yhden int-luvun?
Vastaukset 5
Vanhimmat
teet ensin taulukon arvoista stringin ja muunnat lopuksi stringin intiksi.
String s = "";
for (int i = 0; i < taulukko.length; i ) {
s = String.valueOf(taulukko[i]);
}
int kokonaisluku = Integer.parseInt(s);
int luku(int[] luvut)
{
if(luvut.length == 0)
throw new IllegalArgumentException("taulukko tyhjä");
int l = 0;
for(int i = 0; i < luvut.length; i )
l = luvut[i] * Math.pow(10, luvut.length-i-1);
return l;
}
Hmm eikös tuo tuhoa osan luvuista?
Käsittääkseni pitäisi saada taulukosta 1,22,67,90
tehtyä luku 1226790
Tuo kiidisi toimii siis, jos kaikki luvut on yksinumeroisia?
lisää ne kaikki Stringiin for-loopissa
String jono="";
int luku=0;
for(int i = 0; i < luvut.length; i )
{
jono = "" luvut[i];
}
luku = Integer.valueOf(jono).intValue();
String jono="";
miksei Stringbuffer jono="";
eikös javassa String ole "immutable" joten Stringin käyttö puskurina, johon lisäillään toistuvasti jotain, muodostaa aina uuden String:in, ja vanha jää roskiensiivousjärjestelmän harmiksi.
Stringbuffer olisi siten tehokkaampi, ja sen käytöstä löytynee googlettamalla hyviä esimerkkejä?