Jimbo - 22/11/2009 21:50 (laatste wijziging 22/11/2009 21:55)
Lid
Ik zou graag hulp hebben bij het aanvullen van methods en functions bij een bestaande programma code:
Opgave gaat als volgt:
Vul onderstaande programmacode aan met de nodige methods om alle gecodeerde testen te doen slagen. Aan de meegegeven code mag je niets veranderen.
Method IndexOf zal de positie ( index ) van een bepaald karakter ( eerste argument ) in de verzameling-van-karakters/String opleveren. Een String kan je net als een Char array benaderen, zie onderstaand voorbeeld :
Module StringAsCharArrayExample
Sub Main()
Dim text As String = "Hello"
Console.WriteLine(text(0)) ' "H"c
Console.WriteLine(text(1)) ' "e"c
Console.WriteLine(text(2)) ' "l"c
Console.WriteLine(text(3)) ' "l"c
Console.WriteLine(text(4)) ' "o"c
'Console.WriteLine(text(5) = "o"c) ' IndexOutOfRangeException
End Sub
End Module
Module ComparingReferencesExample
Sub Main()
Dim text As String
Console.WriteLine(text Is Nothing) ' True
text = "Hello"
Console.WriteLine(text IsNot Nothing) ' True
End Sub
End Module
Momenteel heb ik verschillende notaties van functions gebruikt maar geraak hier niet direct wijs uit. Kan iemand hierbij helpen om dezelfde output te bekomen?
Zoals de taak vermeld, moeten hier berekeningen gedaan worden via functions om tot het andere te bekomen.
Als je de code invoerd zie je dat er missende declaraties zijn.
Die moeten gelinkt worden via functions. Alleen aan de programma code zelf mag niets gewijzigd worden.
Het stukje van "programma code" blijkt de "testen" in de vraag te zijn.
Het 1ste stuk zou zoals de taak, zou de "method index of" de plaats van een karakter bepalen in een string.
Nadien bij het volgende stuk is het: nagaan of een objectexpressie van een reference type gelijk is aan Nothing(default value van een string) doet men via de Is of IsNot operatoren.
Dim someString As String = "titjes"
Dim x As Integer = GetIndexOf("j")
Private Function GetIndexOf(ByVal inChar As Char) As Integer
Return someString.IndexOf(inChar)
End Function
Dim someString AsString="titjes"
Dim x AsInteger= GetIndexOf("j")
PrivateFunction GetIndexOf(ByVal inChar As Char)AsInteger
Return someString.IndexOf(inChar)
EndFunction
En anders doe je het zo en dat is misschien nog beter:
Private Function GetIndexOf(ByVal input As String, ByVal charToFind As Char) As Integer
Return input.IndexOf(charToFind)
End Function
'En dan zet je volgende regel in je Main ofzo
Dim index As Integer = GetIndexOf("titjes", "j")
PrivateFunction GetIndexOf(ByValinputAsString, ByVal charToFind As Char)AsInteger
Returninput.IndexOf(charToFind)
EndFunction
'En dan zet je volgende regel in je Main ofzo
Dim index AsInteger= GetIndexOf("titjes", "j")
Succes!
Jimbo - 29/11/2009 22:30 (laatste wijziging 01/12/2009 07:13)
Module StringAsCharArrayExample
Sub Main()
Dim text As String = "Hello"
Console.WriteLine(text(0)) ' "H"c
Console.WriteLine(text(1)) ' "e"c
Console.WriteLine(text(2)) ' "l"c
Console.WriteLine(text(3)) ' "l"c
Console.WriteLine(text(4)) ' "o"c
'Console.WriteLine(text(5) = "o"c) ' IndexOutOfRangeException
End Sub
Private Function GetIndexOf(ByVal input As String, ByVal charToFind As Char) As Integer
Return input.IndexOf(charToFind)
End Function
'Nagaan of een objectexpressie van een reference type gelijk is 'aan Nothing doet men via de Is of IsNot operatoren :
Module ComparingReferencesExample
Sub Main()
Dim text As String
Console.WriteLine(text Is Nothing) ' True
text = "Hello"
Console.WriteLine(text IsNot Nothing) ' True
End Sub
End Module
Hiervan krijg ik de index niet gekoppeld aan de letter. zoals het stukje hierin bovenaan. alsook moet het volgende nagegaan worden of dit een object of referencetype is