【问题标题】:Java lottery program for School Project学校项目的 Java 彩票程序
【发布时间】:2020-10-01 18:32:29
【问题描述】:

我真的是 java 新手,我不知道我是否做得很好,但我已经尝试过了。 该程序应该生成一行随机数,然后询问您是否想要一个新的。 我无法让它工作的部分是后者。我已经尝试了很多东西,但我就是想不通。 (可能是我做错了一些超级简单的事情,但我就是找不到)。

代码如下:

    package Lottorivit;

import java.util.Random;
import java.util.Set;
import java.util.TreeSet;
import java.util.Scanner;

/**
 * Simppeli lottorivi generaattori.
 */
public class Lottorivi {

    public static final int DEFAULT_NUM_TICKETS = 1;
    public static final int DEFAULT_MAX_VALUE = 49;
    public static final int DEFAULT_NUM_VALUES = 7;
    private Random random;

    public static void main(String[] args) {
        Scanner lukija = new Scanner(System.in);
        int numRivit = (args.length > 0) ? Integer.parseInt(args[0]) : DEFAULT_NUM_TICKETS;
        Lottorivi Lottorivi = new Lottorivi();
        for (int i = 0; i < numRivit; ++i) {
            System.out.println("Tässä on rivisi: " + Lottorivi.getNumbers(DEFAULT_NUM_VALUES, DEFAULT_MAX_VALUE));
            System.out.println("Haluatko uuden rivin? Vastaa KYLLÄ tai EI");
            String vastaus = lukija.nextLine();
            if (vastaus.equalsIgnoreCase("KYLLÄ")) {
                System.out.println("Tässä on uusi rivisi: " + Lottorivi.getNumbers(DEFAULT_NUM_VALUES, DEFAULT_MAX_VALUE));
            } else if (vastaus.equalsIgnoreCase("EI")) {
                System.out.println("Hyvää päivänjatkoa!");
            }
        }
    }

    public Lottorivi() {
        this(null);
    }

    public Lottorivi(Long seed) {
        this.random = (seed != null) ? new Random(seed) : new Random();
    }

    public Set<Integer> getNumbers(int numValues, int maxValue) {
        Set<Integer> numbers = new TreeSet<>();
        while (numbers.size() < numValues) {
            numbers.add(this.random.nextInt(maxValue) + 1);
        }
        return numbers;

    }

}

很抱歉它是芬兰语,但您应该了解它的工作原理,因为它是一个如此简单的程序。 如果有更好的方法,您也可以随时推荐它们。我很抱歉问了这么愚蠢的问题。谢谢!

【问题讨论】:

  • Java 命名约定的类以大写字母开头;方法和变量以小写字母开头。
  • 嗯,在我看来,它可能会给用户一次机会为每张票绘制新号码。这不是你想要的吗?
  • 您的问题到底是什么?该程序应该生成一行随机数,然后询问你是否想要一个新的,你想继续这样做直到用户输入否?
  • @NomadMaker 除了Lottorivi-instance 之外,一切似乎都是根据命名约定命名的!
  • @csabinho 是的。然而,约定只有在完全应用时才有效。

标签: java


【解决方案1】:

你是这个意思吗?

while (true) {
            System.out.println("Tässä on rivisi: " + Lottorivi.getNumbers(DEFAULT_NUM_VALUES, DEFAULT_MAX_VALUE));
            System.out.println("Haluatko uuden rivin? Vastaa KYLLÄ tai EI");
            String vastaus = lukija.nextLine();
            if (vastaus.equalsIgnoreCase("EI")) {
                System.out.println("Hyvää päivänjatkoa!");
                break;
            }
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    相关资源
    最近更新 更多