Avatar billede birkis Nybegynder
07. november 2001 - 20:56 Der er 9 kommentarer og
2 løsninger

metoder på int...

Jeg har en int (f.eks. 12345).  Er det mulig å pille ut 1 av tallene (f.eks. 3)??

Altså en metode á la substring?
Avatar billede jakoba Nybegynder
07. november 2001 - 21:07 #1
ikke nær så nemt som med en streng

int hundreder = (int)( 12345 % 1000 ) / 100;
Avatar billede nute Nybegynder
07. november 2001 - 21:12 #2
tja....man kan jo alltid omgjøre sin int til en String, og dermed hente ut sin substring...

int tall = 12345;
String str = Integer.toString( tall );
String newStr = str.substr( 3, 4 );

/nute
Avatar billede disky Nybegynder
08. november 2001 - 08:35 #3
Det er ikke muligt int er en simple datatype og derfor ikke et objekt. Men du kan konvertere den til en Integer.

int x=17;
Integer tal=new Integer(x);

Nu er tal et objekt du kan gøre ting på.
Avatar billede daniboy Nybegynder
08. november 2001 - 13:02 #4
Jeg kan ikke finde nogen anden metode end substr()når jeg kigger i java.lang.integer... men du kan jo selv se efter hvis du ikke tror på mig...
Avatar billede nute Nybegynder
08. november 2001 - 13:06 #5
daniboy >> ehhh....substr() i java.lang.Integer ???

/nute
Avatar billede daniboy Nybegynder
08. november 2001 - 13:10 #6
erm.... doooh =)
Avatar billede daniboy Nybegynder
08. november 2001 - 13:12 #7
Jeg mente at han selv kunne se efter i java.lang.string for at se om han kunne finde en metode \"á la substring\" da jeg ikke kan finde noget...
Avatar billede nute Nybegynder
08. november 2001 - 13:16 #8
daniboy >> hmmm...i java.lang.String *er* det en metode \"ála substring\" --> substr(). \"Problemet\" er jo at mannen har en int og ikke en String til å utføre denne metode på. Dermed er han nødt til å gjøre om sin int til en String innen han kan bruke denne metoden på sin int...

/nute
Avatar billede hbhansen Nybegynder
12. november 2001 - 14:54 #9
Ganske, \'måske\' simpelt !

Du laver int om til String med :
String streng = String.valueOf(tallet);
Derefter tager du tallet ud på index pladsen:
int tallet = Integer.valueOf(streng.charAt(index)).intValue();

Jeg har ikke testet det men mail mig på henrikh@webmascot.dk hvis du vil have mere hjælp !
Avatar billede birkis Nybegynder
10. december 2001 - 13:43 #10
ok...  Beklager dette har tatt så lang tid.  Jeg har hatt prosjekt på skolen, og har ikke hatt tid til å teste svarene deres.

jakoba >>  Jeg forstår ikke hva koden din gjør, men den virker fint.  :)

nute >>  Like enkelt som det er genialt.  :)  Jeg kunne nok ha funnet det ut selv (jeg nevnte jo selv substring() i spørsmålet), men metoden virker utmerket.

disky >>  Det er ganske riktig at \"tal\" er et objekt man kan gjøre ting på.  Dessverre kan man ikke gjøre det jeg ønsker.

hbhansen >>  Jeg kan ikke få metoden din til å fungere.  Compileren vil ikke akseptere \"streng.charAt(index)\" - antagelig fordi \"Integer.valueOf\" krever en String, og \"streng.charAt(index)\" returnerer en char.
Uansett virker det for meg som om metoden gjør så godt som det samme som nutes.
Avatar billede jakoba Nybegynder
10. december 2001 - 13:50 #11
den burde nok også stilles mere forståeligt op:

int treSidsteCifre = 12345 % 1000  // rest fra division med 1000 ( =345 )
int hundreder = (int) treSidsteCifre / 100; // heltalsdelen af 3,45

tak for pts.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester