Choosing random values and then throwing away those that you've already used is a bad idea. It makes the run-times longer as the pool of available numbers gets less since you're throwing away more and more.
What you want is a shuffle list which I would implement with the following code (pseudo-code since it's homework):
dim n[10] // gives n[0] through n[9]
for each i in 0..9:
n[i] = i // initialize them to their indexes
nsize = 10 // starting pool size
do 10 times:
i = rnd(nsize) // give a number between 0 and nsize-1
print n[i]
nsize = nsize - 1 // these two lines effectively remove the used number
n[i] = n[nsize]
By simply selecting a random number from the pool then replacing it with the top number from that pool and reducing the size of the pool, you get a shuffle without having to worry about a large number of swaps up front. This is important if the number is high in that it doesn't introduce an unnecessary startup delay.
For example, examine the following bench-check:
<--------- n[x] ---------->
for x = 0 1 2 3 4 5 6 7 8 9 nsize rnd(nsize) output
--------------------------- ----- ---------- ------
0 1 2 3 4 5 6 7 8 9 10 4 4
0 1 2 3 9 5 6 7 8 9 7 7
0 1 2 3 9 5 6 8 8 2 2
0 1 8 3 9 5 6 7 6 6
0 1 8 3 9 5 6 0 0
5 1 8 3 9 5 2 8
5 1 9 3 4 1 1
5 3 9 3 0 5
9 3 2 1 3
9 1 0 9
You can see the pool reducing as you go and, because you're always replacing the used one with an unused one, you'll never have a repeat.
And now your homework consists of turning that into VB :-)
And, since this homework is now almost certainly overdue (about a year ago), I'll post a VBA solution showing how to do it, for completeness.
Option Explicit
Option Base 0
Sub Macro1()
Randomize
Dim list(10) As Integer
Dim i As Integer
Dim size As Integer
Dim pos As Integer
Dim result As String
For i = 0 To 9
list(i) = i
Next
size = 10
result = ":"
For i = 1 To 10
pos = Int(Rnd() * size)
result = result & list(pos) & ":"
size = size - 1
list(pos) = list(size)
Next
MsgBox result
End Sub
This generated, on three separate runs:
:5:7:4:2:9:1:0:8:3:6:
:3:9:6:0:7:8:5:4:2:1:
:7:6:3:5:1:8:9:0:4:2:
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…