此代码未编译,出了什么问题(Java)

问题描述 投票:0回答:2

它应该返回一组6个不同的整数。预先感谢您的帮助

ps.s。我是新手,因此,如果我以错误的方式提出问题,我表示歉意。

代码:

package net.javavideotutorials.assignment1;
import java.util.Set;
import java.util.Random;

public class LotteryNumberGenerator {
    public static void main( String args[] ) {
        Random rand = new Random();
        int upperbound = 100;
        int int_random = rand.nextInt(upperbound);       

        Set<Integer> a = new HashSet<Integer>();

        if (a.size() <= 6) {
            a.add(int_random);
        } else {
            System.out.println(a);
        }
java
2个回答
0
投票

使用循环代替if条件。使用此代码。

IntStream.rangeClosed(1, 6).forEach(i -> a.add(rand.nextInt(upperbound)));

完整代码:

 Random rand = new Random();
    int upperbound = 100;
    int int_random = rand.nextInt(upperbound);
    Set<Integer> a = new HashSet<Integer>();
    IntStream.rangeClosed(1, 6).forEach(i -> a.add(rand.nextInt(upperbound)));
    System.out.println(a);

0
投票

写这样的东西:-

public class LotteryNumberGenerator {
    public static void main( String args[] ) {
        Random rand = new Random();
        int upperbound = 100;
        int int_random = rand.nextInt(upperbound);       

        Set<Integer> a = new HashSet<Integer>();

        for(int i = 1 ; i <= 6 ; i++) {
        a.add(int_random);
         }
        System.out.println(a);
       } }
© www.soinside.com 2019 - 2024. All rights reserved.