Macht eine Lotterie Anwendung: füllen array mit Zufallszahlen
Ich mache eine Lotterie-Anwendung in Java. Mein problem ist, dass ich denke, alles ist an seinem Platz und es (die IDE) ist mir zu sagen, dass "int lotteryNumbersCount = Eck_LotteryClass.getLotteryNumbers().length;
" muss statisch sein. So dass ich ändern, um eine statische int und dann muss ich wieder ändern in meiner Klasse. Problem ist, wenn ich es endlich zum laufen bekomme ich alle 0 ist für meine random-Lotto-Daten. Bitte helfen Sie mir, finden Sie den Fehler in meiner Weise. Insgesamt newb hier, und ich habe auf der Suche hier online, aber ich will versuchen, es herauszufinden, ohne einfach zu kopieren code irgendwo.
Eck_LotteryClass
import java.util.Random;
public class Eck_LotteryClass {
//instance field
private int lotteryNumbers [];
//Create random lottery numbers method array
public int [] getRandomNumbers(){
lotteryNumbers = new int [5];
Random r = new Random();
for(int i = 0; i < 5; i++)
lotteryNumbers[i] = r.nextInt(10);
return lotteryNumbers;
}
public int compareNumbers(int[] usersNumbers) {
int matchedNums = 0;
if (usersNumbers.length == lotteryNumbers.length) {
for (int i = 0; i < lotteryNumbers.length; i++) {
if (usersNumbers[i] == lotteryNumbers[i]) {
matchedNums ++;
}
}
}
return matchedNums;}
//Display the random lottery numbers for the user
public int [] getLotteryNumbers() {
return lotteryNumbers;
}
}
Eck_LotteryTester
import java.util.Scanner;
import java.util.Arrays;
public class Eck_LotteryTester{
public static void main(String[] args) {
Eck_LotteryClass lottery = new Eck_LotteryClass();
int lotteryNumbersCount = Eck_LotteryClass.getLotteryNumbers().length;
System.out.println("The Pennsylvania Lottery\n");
System.out.println("There are " + lotteryNumbersCount
+ " numbers in my lottery, they are 0 through 9. "
+ "See if you can win big CASH prizes!!!\n");
//Asks the user to enter five numbers.
Scanner keyboard = new Scanner(System.in);
int numbers[] = new int[lotteryNumbersCount];
for (int index = 0; index < numbers.length; index++) {
System.out.print(String.format("Enter Number %d: ", index + 1));
numbers[index] = keyboard.nextInt();
}
//Display the number of digits that match the randomly generated
//lottery numbers.
int match = lottery.compareNumbers(numbers);
if (match == lotteryNumbersCount) {
//If all of the digits match, display a message proclaiming the
//user a grand prize winner.
System.out.println("\nYOU WIN, GO SEE D. LEETE FOR YOUR GRAND PRIZE!!!");
} else {
System.out.println("\nThe winning numbers are " + Arrays.toString(Eck_LotteryClass.getLotteryNumbers()) +
"\nYou matched " + match + " number(s).");
}
}
}
- Bitte korrigieren Sie den Titel ein. Es ist sinnlos, Menschen, die versuchen, Ihren Beitrag finden über Google.
- Im Versuch, das herauszufinden, ist jetzt, habe ich nicht erkennen, dass wäre der Titel, die ich dachte, war es ein Suchfeld
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern
zu
und Sie müssen nicht zum ändern der Methoden-Signatur zu statisch. Auch Sie reden über die gleiche variable.
Ändern sich auch
zu
Also das array wird initialisiert. Und das ändern der Signatur von
zu
würde nicht Schaden,