无法用10到99之间的随机数填充25个整数的数组/java

q35jwt9p  于 2021-07-03  发布在  Java
关注(0)|答案(3)|浏览(289)

这个问题在这里已经有答案了

打印java数组最简单的方法是什么(32个答案)
数组打印java(3个答案)
上个月关门了。
我必须使用math.random用25个介于10和99之间的随机整数填充数组。我在打印数组时也遇到了问题。只打印内存位置,而不是打印整个数组。如何编写打印命令?提前谢谢。这就是我编写代码的方式,我知道代码有问题,但我知道如何解决它。先谢谢你

public class Proj5COMP110
{
public static void main(String args[])
 {
System.out.println ("Project 5: Quick Sort");
    int i;
    int mSample [] = new int[25];
    for ( i= 0; i< mSample.length ; i++) 
    {
        mSample[25] = (int)(Math.random ()* (99-10)+10);
    }
System.out.print(mSample[25]);
 }
}
dsekswqp

dsekswqp1#

评论中已经提到的问题是你必须改变

mSample[25] = (int)(Math.random ()* (99-10)+10);

mSample[i] = (int)(Math.random ()* (99-10)+10);

我更喜欢下面的代码,这是较少的错误,没有任何警告。

public static void main(String[] args) {
    int[] mSample = new int[25];
    for (int loop = 0; loop < mSample.length; loop++)
        mSample[loop] = new Random().nextInt(90) + 10;
    for (int element : mSample)
        System.out.println(element);
  }
bhmjp9jg

bhmjp9jg2#

将值存储到错误的索引中。使用 mSample[i] 而不是 mSample[25] 在索引i处存储值。

mSample[i] = (int)(Math.random ()* (99-10)+10);

也不要忘记更改这一行: System.out.print(mSample[25]); 这会给你一个 indexOutOfBounds 例外。了解发生此异常的原因。

bxjv4tth

bxjv4tth3#

public class Proj5COMP110
{
public static void main(String args[])
 {
System.out.println ("Project 5: Quick Sort");
    int i;
    int mSample [] = new int[25];
    for ( i= 0; i< mSample.length ; i++) 
    {
        mSample[i] = (int)(Math.random ()* (99-10)+10);
    }
for ( i= 0; i< mSample.length ; i++) 
    {
        System.out.print(mSample[i]);
    }

 }
}

在数组中,索引从0开始,因此您应该能够从msample[1-24]存储,msample[25]将超出界限。当您试图打印msample[25]时,它打印的是垃圾值,而不是内存地址。

相关问题