在我的程序中,我可以给玩家发5张随机的牌,但我想知道如何在我的程序中加入一张牌洗牌,因为在我的随机化方式中,我往往会得到重复的牌。
import java.util.Scanner;
public class Prog2d {
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int userChoice;
String[] suit = {"Clubs","Diamonds","
我制作了这个小类,在rando数组中打印出来,但有时捕获相同索引的2倍或更多倍。
es: 2煮3挑4放松3挑
我怎样才能使它只打印一次任何项目洗牌?
2-1-3-4 ecc.
我需要它保持一个数组。谢谢你的帮助
在这里,代码:
java.util.Random random = new java.util.Random();
String[] lista = {"1 drink","2 cook","3 pick","4 relax"};
public String[] getLista() {
return list
希望生成随机字符,存储在没有重复索引的char数组中,并将它们存储在新的ArrayList中。
ArrayList<Character> al = new ArrayList<>();
char letters[ ] = {'a', 'b', 'c', 'd', 'e'};
for(int i =0; i<letters.length; i++){
al.add(letters[ i ]);
}
ArrayList<Character> al2 = new Arra
我有一个列表,例如:{Daniel,Michael,Kate},还有一个:{Daniel,Michael,Kate}。我想要的是创建第三个列表,例如:{Daniel-Kate,Kate-Michael,Michael-Daniel}。我想把它们混合在一起,使它们的元素相互混合,形成一个新的列表。我试过这个:
int start2;
//do a check here
for (int i = 0; i < lista.size(); i++) {
start2 = random.nextInt(lista2.size() - 0) + 0;
if (lista2.get
在Java语言中,我知道要混洗一个ArrayList,Collections.shuffle()方法是存在的,但是这会混洗整个列表。
我如何编写方法(或者,是否有人可以编写它并向我展示它?)如下所示:
private ArrayList<AnObject> list;
/**
* Shuffles the concents of the array list in the range [start, end], and
* does not do anything to the other indicies of the list.
*/
public void shuf
我有一个第一个ArrayList: ArrayList<Move> moves = new ArrayList<>(); 并希望将元素随机重新排序到第二个元素中: ArrayList<Move> randomMoves = new ArrayList<>(); 通常我会这样做: while (randomMoves.size() < moves.size()) {
int index = (int) (Math.random() * moves.size());
while (rando
寻找一种更有效的方法从字符串数组中选择元素的随机子集(没有重复项)。
public static String randomReturnArray(String inputArray[]) {
String[] tmpInputArr = Arrays.copyOf(inputArray, inputArray.length);
Random r = new Random();
int inMin = 0;
int inMax = inputArray.length;
int numOfMarkings = r.nextInt((inMax - in
我正在尝试编写一个方法来获取一个从1到10的数字列表,其中不会有重复的数字。另外,成员不能为零。然而,经过多次尝试,我都没能解决这个问题,下面是我的代码:
public ArrayList<Integer> dobijNiz() {
int min = 1;
int max = 10;
ArrayList<Integer> lista = new ArrayList<Integer>();
Random random = new Random();
for (int i = 0
我有字符串数组名称和字符串数组公司。
public class Main {
public static void main(String[] args) {
String[] name = {"Alex", "John", "David", "Peter"};
String[] company = {"Adidas", "Nike", "New Balance", "Puma"};
Random random
我正在使用Adapter
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1);
我想把它的内容弄乱,但是我发现Collections.shuffle(adapter);不能工作。有没有其他方法可以做到这一点?同时保留adapter的格式,即不将其更改为List
我有这门课,它对我来说运行得很好。它给出了5位随机数。我不能做到的是这5个数字是不同的,我的意思是没有重复它的数字在5位数字。
import java.util.Random;
public class Test
{
public int[] dedo()
{
Random diceRoller = new Random();
int[] cifra = new int[5];
for (int i = 0; i < cifra.length; i++)
{
int roll =
我需要在Java中重复生成一个随机顺序的整数数组。我想出了下面这个丑陋的代码片段(它在一个更大的循环中运行)。要做到这一点,更有效或更紧凑的方法是什么?
ArrayList<Integer> t = new ArrayList<>();
int[] d = new int[elts];
for (int i = 0; i < elts; i++) {
t.add(i);
}
Collections.shuffle(t);
for (int i = 0; i < elts; i++) {
我已经建立了一种调整字符串的技术。
int Random = (int) (Math.random() *4);
我不知道如何才能让它与我的字符串数组一起工作。我想将数组中的所有字符串随机化,输出结果仍然是array,但是所有字符串都是随机的。
在我看过的所有与此相关的问题中,人们只是在设置文本视图的文本时使用int。
任何帮助都将不胜感激。
public static final String[] imageThumbUrlsRandom = new String[] {
"https://lh5.googleusercontent.com/-TzF_L
我需要将一副纸牌分成两包:上半部分和下半部分。假设这个新的卡片阵列是这样的:从顶部分组开始的第一张卡片,从底部分组开始的第一张卡片,从顶部分组开始的第二张卡片,从底部分组开始的第二张卡片,等等。如果有奇数张卡片,则顶部分组应该比底部分组多一个。甲板的顶部是数组的前面。
我该怎么做呢?
下面是我创建的生成扑克牌的方法(我认为它是有效的):
private Card[] cards;
int value, suit;
private final int DECK_SIZE = 52;
public Deck()
{
int index = 0;
cards
我做了一个小测验应用程序,它使用一个int[]数组来设置答案的位置。数组必须填充数字0、1、2和3,但它们必须被随机放置(只有一次)。我唯一能做到的就是这样做:
public int[] castRanInt(){
int ran_int[] = new int[4];
Random random = new Random();
boolean state = true;
ran_int[0] = random.nextInt(4);
while (state) {
for (int r = 1; r < 4; r++) {
Implementation
private static List<Integer> getRandomDistribution(List<String> unsortedList, int max) {
Random random = new Random();
List<Integer> indexContainer = new ArrayList<>();
for (int i = 0; i < max; i++) {
int index = random.nextInt(max);
我有一段代码,它的想法是,它接受一个n个数字的数组列表,对它进行50次混洗,每次将新的混洗添加到另一个数组列表时添加。
然而,它所做的似乎是将其置乱一次,并将其添加到数组列表中(就像应该做的那样),但在接下来的49次中,它不会对其进行置乱。它只添加了相同的一个。你可以从我下面的代码中了解更多:
int chromeSize;
ArrayList<GeoPoint> geoPoints = new ArrayList<GeoPoint>();
ArrayList<Integer> addToFirstChrome = new ArrayList&l
我试图使用Collections.shuffle来混淆链接列表的值,但每次都会得到相同的顺序--这是应该显示和混淆我的卡片列表的代码:
public Deck(int nbBox) {
this.cardList = new LinkedList<Card>();
Collections.shuffle(cardList);
for (int i = 0; i < nbBox; i++) {
for (Color col : Color.values()) {
for (Value val : Value.values())
public class SimpleRandomCount extends RandomCount
{
/**
* Generate an array containing elements in a random order
*
* @param size the size of the array to be generated
*/
public SimpleRandomCount(int size) {
super(size);
}
/**
* Randomise the array
*/
protected void randomise() {
i
我对Java很陌生,我试图使用Collections.shuffle()来洗牌我的ArrayList的元素。有人能帮忙吗?
public class tracklist {
ArrayList<File> tracklist = new ArrayList<File>();
String trackListName;
public static void shuffle(List<?> tracklist, Random rnd) {
tracklist.shuffle();
}
}
public cla