Android Question Full day name"TUESDAY" randomly jumbled "DYSTUAE"

anaylor01

Well-Known Member
Licensed User
Longtime User
I want to return the full day of the week name randomly jumbled. Any ideas?
 

DonManfred

Expert
Licensed User
Longtime User
B4X:
  Dim day As String = "Monday"
   Log("Dayname before: "&day)
   Dim dummyday As String = day.ToLowerCase
   Dim chars As List
   chars.Initialize
   For i = 0 To dummyday.Length -1
     chars.Add(dummyday.SubString2(i,i+1))
   Next
   'Log(chars)
   chars = ShuffleList(chars)
   'Log(chars)
   Dim newdayname As String = ""
   For i = 0 To chars.Size -1
    newdayname = newdayname &   chars.Get(i)
   Next
   Log("The Day after: "&newdayname)

B4X:
Sub ShuffleList(pl As List) As List
  For i = pl.Size - 1 To 0 Step -1
  Dim j As Int
     Dim k As Object
  j = Rnd(0, i + 1)
  k = pl.Get(j)
  pl.Set(j,pl.Get(i))
  pl.Set(i,k)
  Next
   Return pl
End Sub
 
Upvote 0

DonManfred

Expert
Licensed User
Longtime User
B4X:
Log("Shuffled dayname: "&ShuffleString("Monday"))
Log("Shuffled dayname: "&ShuffleString("Tuesday"))
Log("Shuffled dayname: "&ShuffleString("Wednesday"))
Log("Shuffled dayname: "&ShuffleString("Thursday"))
Log("Shuffled dayname: "&ShuffleString("friday"))
Log("Shuffled dayname: "&ShuffleString("Saturday"))
Log("Shuffled dayname: "&ShuffleString("Sunday"))

B4X:
Sub ShuffleString(pl As String) As String
    pl = pl.ToLowerCase
    Dim chars As List
    chars.Initialize
    For i = 0 To pl.Length -1
        chars.Add(pl.SubString2(i,i+1))
    Next

    For i = chars.Size - 1 To 0 Step -1
    Dim j As Int
        Dim k As Object
    j = Rnd(0, i + 1)
    k = chars.Get(j)
    chars.Set(j,chars.Get(i))
    chars.Set(i,k)
  Next
    Dim newdayname As String = ""
    For i = 0 To chars.Size -1
      newdayname = newdayname &    chars.Get(i)
    Next
   
    Return newdayname
End Sub
 
Upvote 0
Top