gpt4 book ai didi

java - 从Java中的随机数生成器获取字符

转载 作者:行者123 更新时间:2023-12-02 06:14:50 24 4
gpt4 key购买 nike

我应该创建一个程序,调用一个生成数字 1 到 10 的排列的方法。基本上,我应该用 1-10 之间的随机数填充一个数组,这些数字永远不会得到重复的数字,并且得到每次我调用该方法时都会得到不同的结果。我使用了 Random() 类,但由于某种原因它生成符号、字符和数字。这是我的程序:

import java.util.*;

public class perms
{
public static void main(String[] args)
{
int[] myPermutation;
myPermutation = generatePermutation1To10();
System.out.println(myPermutation);
}

private static int[] generatePermutation1To10() {
Random rng = new Random();
int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] finalNums = new int[nums.length];

for (int k=0;k<finalNums.length; ++k)
{
int rnIdx = rng.nextInt(nums.length-k);
finalNums[k] = nums[rnIdx];
nums[rnIdx] = nums[nums.length-k-1];
}
return finalNums;
}
}

最佳答案

这些字符不是随机字符,而是随机整数。这是 the toString() method in Object 的默认输出,哪些数组(也是对象)不会覆盖。

[T]his method returns a string equal to the value of:

getClass().getName() + '@' + Integer.toHexString(hashCode())

您可能看到过这样的内容:

[I@68111f9b

[Iint (I) 数组 ([) 的 Java 代码, 68111f9b 是数组哈希码的十六进制输出。

尝试

System.out.println(Arrays.toString(myPermutation));

关于java - 从Java中的随机数生成器获取字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21588706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com