Avatar billede optical Nybegynder
07. august 2004 - 23:32 Der er 12 kommentarer og
1 løsning

lidt? hjælp med kode [begynder]

jeg har lidt problemer med min kode her:

Imports System, System.Console
Module Module1
    Dim temp(2) As String
    Dim data As New Collections.ArrayList
    Dim counter As Byte
    Sub Main()
        For counter = 1 To 5
        WriteLine("Enter your first-name")
        temp(0) = ReadLine()
        WriteLine("Enter your last-name")
        temp(1) = ReadLine()
        WriteLine("Enter your age")
        temp(2) = ReadLine()
            data.Add(New person((temp(0)), (temp(1)), (temp(2))))
        Next

        For counter = 0 To data.Count - 1
            data(counter).display()
        Next
        Console.ReadLine()
    End Sub
    Class person
        Public navn As String
        Public efternavn As String
        Public alder As Byte
        Public Sub display()
            Console.WriteLine("Navn: " & (navn) & (efternavn) & "    " & (alder) & " Gammel")
        End Sub
        Public Sub New(ByRef navn, ByRef efternavn, ByRef alder)

        End Sub
    End Class

End Module

**************************
resutat af koden er:
Navn:      0 år gammel
Navn:      0 år gammel
Navn:      0 år gammel
Navn:      0 år gammel
Navn:      0 år gammel

hvordan for jeg den til, at skrive:
navn, efternavn og alder?

som det fremgår af navnet på spørgsmålet er jeg ikke så hård til vb.net så bær over med mig:)
Avatar billede arne_v Ekspert
07. august 2004 - 23:36 #1
Du gemmer ikke værdierne i din constrcutor.
Avatar billede optical Nybegynder
07. august 2004 - 23:37 #2
kan du forklare det dybere:)?
Avatar billede arne_v Ekspert
07. august 2004 - 23:37 #3
Class person
        Public navn As String
        Public efternavn As String
        Public alder As Byte
        Public Sub display()
            Console.WriteLine("Navn: " & (navn) & (efternavn) & "    " & (alder) & " Gammel")
        End Sub
        Public Sub New(ByRef navnarg, ByRef efternavnarg, ByRef alderarg)
            navn = navnarg
            erfternavn = efternavnarg
            alder = alderarg
        End Sub
    End Class
Avatar billede arne_v Ekspert
07. august 2004 - 23:37 #4
constructoren skal gemme argumenterne i instans variablene
Avatar billede optical Nybegynder
07. august 2004 - 23:41 #5
takker arne_v

kan du forklare hvad forskellen er?

for jeg forstår ikke helt hvad forskellen er?
Avatar billede optical Nybegynder
07. august 2004 - 23:43 #6
og evt. smide et svar:D
Avatar billede arne_v Ekspert
07. august 2004 - 23:45 #7
svar
Avatar billede arne_v Ekspert
07. august 2004 - 23:46 #8
Public navn As String
        Public efternavn As String
        Public alder As Byte

får værdierne "", "" og 0 inden constructor bliver kaldt

        Public Sub New(ByRef navn, ByRef efternavn, ByRef alder)

        End Sub

gør absolut ingenting d.v.s. at felterne får ikek andre værdier

        Public Sub New(ByRef navnarg, ByRef efternavnarg, ByRef alderarg)
            navn = navnarg
            erfternavn = efternavnarg
            alder = alderarg
        End Sub

overfører argumenterne til felterne
Avatar billede optical Nybegynder
07. august 2004 - 23:52 #9
gør :
  Public Sub New(ByRef navn, ByRef efternavn, ByRef alder)

        End Sub
så overhovedet ingenting???
Avatar billede arne_v Ekspert
07. august 2004 - 23:54 #10
Du kalder constructor med 3 argumenter men constructor gør ikke noget.

På nogen områder er en constructor helt ligesom andre Sub's.

Der skal nogle linier til at gøre noget.
Avatar billede optical Nybegynder
07. august 2004 - 23:56 #11
sidste spørgsmål :) jeg har set folk skrive det der arg overalt - hvad betyder det? argument?
Avatar billede arne_v Ekspert
07. august 2004 - 23:59 #12
I mit tilfælde skulle jeg bare have kaldt argumenterne for noget forskelligt
fra felterne.

Så jeg klisterede arg (forkortelse for argument) på.
Avatar billede optical Nybegynder
08. august 2004 - 00:01 #13
ahh ;) danke:)
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