Avatar billede touel Nybegynder
11. april 2005 - 12:28 Der er 9 kommentarer og
2 løsninger

Finde bestemt værdi i String arr

Hvordan udtrækker jeg en bestemt værdi fra et String []

String [] = new String ["Anders,bo,ib,claus,kim,larsen,karl"];

hvis jeg vha. en while-løkken ønsker at finde kim her, hvordan gør jeg lige det ?
Avatar billede arne_v Ekspert
11. april 2005 - 12:36 #1
Jeg ville bruge en for løkke.

int ix = -1;
for(int i = 0; i < s.length; i++) {
  if(s[i].equals("kim")) {
      ix = i;
      break;
  }
}
if(ix >= 0) {
  // kim er i s[ix]
} else {
  // kim er der ikke
}
Avatar billede kalp Novice
11. april 2005 - 13:11 #2
String [] test = new String ["Anders,bo,ib,claus,kim,larsen,karl"];

for(int i = 0; i < test.length; i++)
{
if(test[i].equals("kim"))
System.out.print("kim er fundet på plads " + i);
else
System.out.print("kim blev ikke fundet");
}


muligvis
Avatar billede touel Nybegynder
11. april 2005 - 13:24 #3
jeg kan ikke skrive "equals-metoden" efter test[i]... det vil prog ikke tillade...
Avatar billede arne_v Ekspert
11. april 2005 - 13:34 #4
Hvis test er String[] så bør du kunne.

Men da

String [] test = new String ["Anders,bo,ib,claus,kim,larsen,karl"];

ikke compiler så skal vi lige vide hvad du har skrevet
Avatar billede arne_v Ekspert
11. april 2005 - 13:35 #5
Det korrekte må være:

String [] test = {  "Anders", "bo", "ib", "claus", "kim", "larsen", "karl" };
Avatar billede touel Nybegynder
11. april 2005 - 13:57 #6
øhhmm... hvis jeg må ha lov til at omformulere lidt, kan det lade sig gøre at slette alle navne, som kommer før kim. jeg har megen kode, men sagen er den at hele mit array bliver printet ud, så hvis jeg er interesseret i at kun se kim og derefter og få slettet de første par navne, hvordan kan jeg gøre det ?
Avatar billede touel Nybegynder
11. april 2005 - 15:23 #7
jeg har fået løst den... 

Nu hopper den også det uønskede tekst over...

arne og kalp... smid svar
Avatar billede kalp Novice
11. april 2005 - 15:45 #8
arne >>

Kommentar: arne_v
11/04-2005 13:35:40

yep helt rigtigt:) hehe tænkte jeg slet ikke over!:)
Avatar billede arne_v Ekspert
11. april 2005 - 16:44 #9
.
Avatar billede arne_v Ekspert
11. april 2005 - 16:44 #10
Hvis du vil slette så skift fra array til ArrayList eller en anden Collection
Avatar billede snoop_one Nybegynder
11. april 2005 - 20:59 #11
Et alternativ (uden while/for løkker)

public static void main(String... args){
  String [] name = new String[]{"Anders","bo","ib","claus","kim","larsen","karl"};
  ArrayList<String> namelist = new ArrayList<String>(Arrays.asList(name));
  //find kim
  String search = "kim";
  System.out.println(namelist.get(namelist.indexOf(search)) + " blev fundet..");
  //find kim og alle derefter
  System.out.println(namelist.subList(namelist.indexOf(search),namelist.size()));
}
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