Avatar billede padrino Nybegynder
10. november 2003 - 23:26 Der er 9 kommentarer

String() behandling

Hej...alle kvikke hoveder :)

Jeg har en string som indeholder en række oplysninger, hvoraf det første er et tal, som jeg skal bruge for at komme videre. Stringen vil typsik se ud som: ("12", "Hans Hansen",  "Hansensvej 12", "123456"), -Stringen hentes fra et ArrayList, hvor der er flere ligende stringe (løbes igennem med en for-løkke).
Tallet skulle gerne gemmes i en substring el.n. Så jeg har tallet gemt til videre brug...
Er der nogen, der har nogle gode eksempler ??
Avatar billede erikjacobsen Ekspert
10. november 2003 - 23:30 #1
Hvad mener du - hvordan ser din streng ud?
Avatar billede mikkelbm Nybegynder
10. november 2003 - 23:36 #2
("12", "Hans Hansen",  "Hansensvej 12", "123456")

- er ikke én streng, men 4 strenge!
har du lagt dem ind i et array, som du har tilføjet i en ArrayList, eller???

Du må lige forklare dig nærmere...
Avatar billede krestenbanke Nybegynder
10. november 2003 - 23:38 #3
Du kan bruge en Vector!
Her kan du putte de forskellige oplysninger i, og derefter hente dem ud igen. Vectoren kan løbes igennem med noget der hedder Iterator og på den måde kan du holde styr på hvilke data du henter ud, og derefter gemme den i en ny Vector.
Avatar billede mikkelbm Nybegynder
10. november 2003 - 23:39 #4
Hvis alle informationer ligger i én streng kan du gøre følgende:

String tekst = "12 Hans Hansen Hansensvej 12 123456"
String sub = tekst.substring(0, 2);
System.out.println (sub);

output:

12
Avatar billede padrino Nybegynder
11. november 2003 - 09:21 #5
Undskyld, glemte at skrive at det er en række objekter i et ArrayList som hver indeholder en række strenge...
Indsættes i Array'et sådan:
---Fra main klassen:
public static NyOrdre ordreSamling;
ordreSamling = new NyOrdre();
ordreSamling.indsaet("123", "Hans Hansen", "Hansensvej 55, 4738 Humle", "123456");
---------- klasse, der indeholder metoden indsaet:
class NyOrdre
{public ArrayList nyOrdre;
public NyOrdre()
{ nyOrdre = new ArrayList(); }

//Her indsættes de kunder, der opfylder kriterier for privat-kunde
public void indsaet(String ordrenr, String navn, String adresse, String tlf)
{ nyOrdre.add(new Ordre(ordrenr, navn, adresse, tlf)); }

---------- klasse Ordre:
public class Ordre implements Comparable
{String ordrenr;
String kundenr;
String navn;
String adresse;
String tlf;

public Ordre (String cOrdrenr, String cKundenr, String cNavn, String cAdresse, String cTlf)
{ordrenr = cOrdrenr;
kundenr = cKundenr;
navn = cNavn;
adresse = cAdresse;
tlf = cTlf;}

Håber det giver lidt mere indblik i mit program :) (og problem..)
Avatar billede krestenbanke Nybegynder
11. november 2003 - 11:28 #6
Synes stadigt en Vector er det rigtige at bruge...
Hvis du i stedet for en ArrayList() bruger Vector() er det lettere at rente data ud igen. Vector er blot et dobbelt-array, og udvides hvis der kommer flere objekter, end der er plads til.

Herefter kan du udtrække data ved at sætte Iterator på din Vector således at hver enkelt plads kan gennem løbes...
f.eks:
//instans
private Iterator nyOrdreIterator;

//function
nyOrdreIterator = nyOrdre.iterator();

while (nyOrdreIterator .hasNext()) {
       
//her Castes det foerste object i Vectoren borde til typen Bord.
      nyBord = (Bord)(bordIterator.next());

(
Avatar billede krestenbanke Nybegynder
11. november 2003 - 11:31 #7
ups....
glem de to sidste linier

Men herefter bruger du next() til at tage det som iteratoren har fat i, og kan nu kaste det i en ny Vector ved at bruge add() på den nye vector...
Avatar billede arne_v Ekspert
11. november 2003 - 12:01 #8
Altså den væsentlige forskel mellem ArrayList og Vector ligger
i synkroniseringen ikke i funktionalitet.
Avatar billede arne_v Ekspert
11. november 2003 - 12:06 #9
Så vidt jeg kan vurdere skal du ikke pakke noget ud.

ordreSamling.get(ix).getKundenr()

bør virke hvis NyOrdre har en:

public Ordre get(int ix) {
    return (Ordre)nyOrdre.get(ix);
}

og Ordre har de nødvendige get metoder.
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