[英]Java lottery program for School Project
我真的是 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;
}
}
很抱歉它是芬兰语,但您应该了解它是如何工作的,因为它是一个如此简单的程序。 如果有更好的方法,您也可以随时推荐它们。 我很抱歉问了这么愚蠢的问题。 谢谢!
你是这个意思吗?
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;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.