Java (int)Math.random打印第一行设置范围之外的随机数字行

Java (int)Math.random打印第一行设置范围之外的随机数字行,java,arrays,math,random,Java,Arrays,Math,Random,尝试创建一个随机数数组。以下是我到目前为止的情况: public static void main(String[] args) { randomArray(5); } public static int randomInt(int low, int high){ int x=0; for (int i=0;i<10;i++){ x= (int)(Math.random ()*high)+low;

尝试创建一个随机数数组。以下是我到目前为止的情况:

    public static void main(String[] args) {
randomArray(5);
    }
    public static int randomInt(int low, int high){
        int x=0;
        for (int i=0;i<10;i++){
           x= (int)(Math.random ()*high)+low;
             System.out.print(x);
        }
     return x;       
    }
    public static int[] randomArray(int n){
        int[] a = new int [n];
        for (int i = 0;i<a.length;i++){
            a[i]=randomInt (0,100);}
        printArray(a);
        return a;
    }
    public static void printArray (int[]a) {
        for (int i = 0; i<a.length;i++){
            System.out.println(a[i]);
    }

    }
}

这是一条路,超出了范围。有什么想法吗?

因为你有一个:
系统。输出。打印(x)
内部
randomInt
  • 在“randomInt”函数中有一个print语句
  • “randomInt”函数中有一个不必要的循环
  • 您使用的“randomInt”函数只能产生正确的结果,因为您使用的是low=0
    • Ex:高=10;低=5;((Math.random()*高)+低)将产生5到15之间的结果,而不是5到10之间的结果

import java.util.*;
导入java.lang.*;
导入java.io.*;
表意文字
{
公共静态void main(字符串[]args){
随机阵列(5);
}
公共静态int randomInt(int低,int高){
返回值(int)(Math.random()*(高-低))+低;
}
公共静态int[]随机数组(int n){
int[]a=新的int[n];

for(int i=0;i
System.print()
不添加换行符,所以您只是在同一行上打印一组数字。为什么在您的
randomInt
方法中有for循环?您正在生成9个随机数,并将它们扔掉,然后返回第10个?为了稍微说明一下,
System.out.print(x)
将打印
x
,后面没有回车符。那一行实际上是
92
65
95
67
等等。哇,我很笨。一定是在测试期间留下的。谢谢。@iamnotmaynard-我从(基于web的编译器)复制并粘贴了它这一行是在我用来制作示例代码的Java语言模板中。
9265956792478464547638861753937389642303686408882492318499964845942725987325868511898811389
42
49
73
72
import java.util.*;
import java.lang.*;
import java.io.*;

class Ideone
{
    public static void main(String[] args) {
        randomArray(5);
    }
    public static int randomInt(int low, int high){
        return (int)(Math.random() * (high - low)) + low;       
    }
    public static int[] randomArray(int n){
        int[] a = new int[n];
        for (int i = 0; i<a.length; i++) {
            a[i] = randomInt(0, 100);
        }
        printArray(a);
        return a;
    }
    public static void printArray (int[] a) {
        for (int i = 0; i<a.length; i++){
            System.out.println(a[i]);
        }
    }
}