Random类,ArrayList实现随机数不重复!在线等答案!
我做了个英语默写器 实现了一个 随机显示的单词或者解释不重复的功能 但是有问题 大家帮忙看看 哪里需要改。。
在线等答案!!!
在线等答案!!!
namespace 单词背诵
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string[] words;
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
button1.Enabled = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
words= File.ReadAllLines(openFileDialog1.FileName,Encoding.Default);
}
}
int i=0;
string[] str3;
string str1,str2;
Random rn=new Random();
ArrayList list = new ArrayList();
private void button1_Click(object sender, EventArgs e)
{
try
{
list.Add(s);
Word(s);
}
catch
{
MessageBox.Show("请选择词库");
}
}
private void Word(int str)
{
str3 = words[str].Split('[');
str1 = str3[0].ToString();
str2 = str3[1].ToString();
button1.Enabled = false;
textBox2.Focus();
if (s % 2 == 0)
{
i = 1;
textBox1.Text = str2;
return;
}
if (s % 2 != 0)
{
i = 2;
textBox1.Text = str1;
return;
}
}
int s = 0;
private int List()
{
s = rn.Next(0, words.Length - 1);
return s;
}
int p1, p2;
private void button3_Click(object sender, EventArgs e)
{
switch (i)
{
case 1:
if (str1 == textBox2.Text.Trim())
{
p1 = List();
if (list.Contains(p1))
{
p2 = List();
}
if (list.Contains(p1) == false)
{
list.Add(p1);
textBox1.Clear();
textBox2.Clear();
Word(p1);
}
return;
}
if (str1 != textBox2.Text.Trim())
{
textBox2.Text = "";
MessageBox.Show("回答错误");
return;
}
break;
case 2:
if (str2.Contains(textBox2.Text.Trim()))
{
p1 = List();
if (list.Contains(p1))
{
p2 = List();
}
if (list.Contains(p1) == false)
{
list.Add(p1);
textBox1.Clear();
textBox2.Clear();
Word(p1);
}
return;
}
if (!str2.Contains(textBox2.Text.Trim()))
{
textBox2.Text = "";
MessageBox.Show("回答错误");
return;
}
break;
}
foreach (int[] sr in list)
{
if (sr.Length == words.Length)
{
MessageBox.Show("此单词库的单词全部默写完毕");
}
}
}
private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
button3_Click(null, null);
}
}
...全文
相关推荐
Java实现生成n个不重复的随机数
Java实现生成n个不重复的随机数Java实现生成n个不重复的随机数是非常常见的需求,例如在游戏、数据分析、机器学习等领域中都需要生成随机数。下面将详细介绍Java实现生成n个不重复的随机数的方法。
java生成十个不重复的随机数
在Java编程中,生成十个不重复的随机数是一项常见的任务,尤其在进行数据模拟、测试或者游戏设计等场景。要实现这个功能,我们需要利用到Java的集合框架和Math类中的随机数生成方法。
unity 随机数不重复出现
改进方案上面的实现虽然能够满足基本需求,但在效率上还有提升的空间。特别是在需要生成大量不重复随机数的情况下,频繁地检查列表中是否包含某个元素可能会导致性能问题。
Java 产生不重复随机数四种方法
HashSet方法效率最高,但无序;ArrayList和LinkedList方法相对较慢,但易于理解和实现;TreeSet方法则可以生成有序的不重复随机数。根据具体应用场景选择合适的方法。
生成指定随机数不重复的例子(可用)
当`HashSet`的大小达到指定数量时,循环结束,打印出生成的不重复随机数。总结来说,这个例子提供了一种在Java中生成指定范围内不重复随机数的方法,通过结合`Random`类和集合数据结构实现。


