根据用户输入年份,根据用户输入生成2d阵列​​的随机数

时间:2016-03-23 01:35:13

标签: java random input

在我陈述我的问题之前,我已经搜索了已经发布的问题,这对我有所帮助,但不是我真正想要的。

目前,不要担心2D阵列部分。

我应该创建一个程序,根据用户输入多年生成随机浮点值。让我解释一下。

首先它要求用户输入多年;用户输入1-80之间的值,程序检查输入的值是否在这两者之间。 (DONE)

然后,根据用户输入,它将以[0.00和100.00]之间的随机值打印出每年。 例;如果用户输入3,则输出将显示;

第1年:随机值

第2年:随机值

第3年:随机值

让我们暂时开始吧。我已经把它用于它要求用户输入的位置,我确实将它用于生成随机值的位置,但它们不在我想要的之间。

到目前为止,这是我的代码。

package name;
import java.util.*;

public class name {

public static void main(String[] args) {

        Random generator = new Random();

        inputCheck();

    }
    public static void inputCheck(){

        Scanner keyboard = new Scanner(System.in);

        System.out.print("Enter the desired number of years: ");
        int years = keyboard.nextInt();
        System.out.println();

        while (years < 1 || years >= 80){
            System.out.print("Please enter a value for years that is greater than 1 and less than 80: ");
            years = keyboard.nextInt();
            System.out.println();
        }
    }
}

2 个答案:

答案 0 :(得分:0)

你在这里

public class Test {

    public static void main(String[] args) {

        Random generator = new Random();

        int years = inputCheck();
        for (int i = 1; i <= years; i++) {
            System.out.println("Year " + i + ": " + generator.nextFloat() * 100);
        }
    }

    public static int inputCheck() {

        Scanner keyboard = new Scanner(System.in);
        System.out.print("Enter the desired number of years: ");
        int years = keyboard.nextInt();
        System.out.println();

        while (years < 1 || years >= 80) {
            System.out.print("Please enter a value for years that is greater than 1 and less than 80: ");
            years = keyboard.nextInt();
            System.out.println();
        }
        return years;
    }
}

答案 1 :(得分:0)

我没有看到正在使用的生成器,但除此之外,当你这样做时,你只会得到一个介于零和给定值之间的整数(当然没有操纵)你想要的是一个介于0和0之间的浮点数。 100有两位小数,所以生成随机数:

Randint=(Generator.nextFloat(100.00));

至少这是我记得的。 我只是给了你,因为你说你还有其他的东西。