在MIPS中生成随机单词

时间:2014-10-15 23:49:27

标签: smips

我想在MIPS中生成随机单词。我知道如何生成随机数,我只想要一个单词库中的随机单词。我试过这个,但我不知道如何打印它们。

.data
### WORD BANK ###
a0:     .asciiz "computer"
b1:     .asciiz "processor"
c2:     .asciiz "motherboard"
d3:     .asciiz "graphics"
e4:     .asciiz "network"
f5:     .asciiz "ethernet"
g6:     .asciiz "memory"
h7:     .asciiz "microsoft"
i8:     .asciiz "linux"
j9:     .asciiz "transistor"
k10:    .asciiz "antidisestablishmentarianism"
l11:    .asciiz "protocol"
m12:    .asciiz "instruction"
word:   .word   a0,b1,c2,d3,e4,f5,g6,h7,i8,j9,k10,l11,m12

.text
la $To,word

如何从给定列表中选择随机单词?

2 个答案:

答案 0 :(得分:2)

如果您在int范围内有一个随机生成的数字n,请使用n的余数除以字库大小(在本例中为13)来查找数字的索引。如果您有RNG的上限,则将其设置为单词库大小。然后使用内存中的索引加载字符串。

答案 1 :(得分:-1)

您可以创建一个数组,然后使用forEach循环,在一个生成随机数的对象内,显示与随机生成的数字对应的数组的单词。

这是JAVA代码,但我希望能帮助

import java.util.Random;

//main class
public class Test1 
{

public static void main(String[] args) 
{       
    //Array of names
    String[] wordBank = {"luca", "serena", "giuseppe", "nicole", "eleonora", "elena", "matteo"};

    //random generation of names
    for(int i=1; i<10; ++i)
    {
        Random dice = new Random();
        int dice2 = dice.nextInt(6);
        System.out.println(wordBank[dice2]);    
    }

}

}