【发布时间】:2017-12-22 00:03:40
【问题描述】:
我正在尝试创建一个输出十个小写字母字符的程序 - 五个元音和五个辅音。为了做到这一点,我首先创建了一个 char 数组,其范围在 'a' 和 'z' 之间,称为 letters[],大小为 10。一旦数组被填充,我将使用格式打印输出包含数组中所有内容的字符串。
我的问题是,如何使程序输出每种类型的五个(并保持完全随机打印的字符顺序)?我曾考虑过使用switch 语句,每个辅音和元音都有一个格,但到目前为止我的想法似乎过于复杂和不优雅。
到目前为止的代码:
char letters[] = new char[10];
for(int i = 0; i < letters.length; i++){ //Open for
letters[i] = (char)(97 + Math.random() * 26);
char idx = letters[i];
System.out.printf("%s",idx);
} //End for
【问题讨论】:
-
只需将 5 个随机辅音和 5 个随机元音放入一个数组并随机播放。
-
也许你可以向我们展示你的代码,因为我不清楚你是如何填充你的数组的。猜测一下,也许您可以不断计算您在
letters中添加了多少个元音和多少个辅音。一旦达到 5 个,就停止添加该类型。 -
我会将我的代码添加到 OP。内容不多,但希望它能让您了解我想怎么做。
-
@shmosel 有没有一种简单的方法可以在我打印时简单地打乱数组的内容?如果是这样,那会让我的生活更轻松。
-
查找 Fisher-Yates 洗牌。
标签: java arrays random character