【发布时间】:2016-11-26 11:35:30
【问题描述】:
我正在编写一个彩票程序,现在我有点卡住了。我让用户选择七个数字,最后我希望程序告诉用户他正确回答了哪些数字。
我在理解数组时遇到了很多麻烦,以至于我不确定如何将正确猜测的数字存储在数组中,然后在最后打印数组中的元素。我尝试了各种变体,但没有什么对我有用。
package whatevs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Random;
import java.util.Scanner;
public class lottery {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int[] userNumbers = new int[7];
int[] winningNumbers = new int[7];
int guesses;
int i;
int counter = 0;
int[]correctGuessed=new int[8];
int x;
ArrayList<Integer> list = new ArrayList<Integer>();
for (x=1; x<40; x++) {
list.add(new Integer(x));
}
Collections.shuffle(list);
for (x=0; x<7;x++) {
winningNumbers[x] = list.get(x);
}
System.out.println("Pick 7 numbers between 1 and 39: ");
for(i = 0; i < 7; i++){
guesses = reader.nextInt();
userNumbers[i] = guesses;
// System.out.println(userNumbers[i]);
for(x = 0; x<7;x++){
if(winningNumbers[x] == userNumbers[i]){
correctGuessed[x] = userNumbers[i];
counter+=1;
}
}
if (counter == 7){
System.out.println("You won!");
}
else
System.out.println("You had " + counter + " numbers correct: " + correctGuessed[x] );
}
}
【问题讨论】:
-
您真的要使用数组来做到这一点吗?因为更简单和合乎逻辑的解决方案是使用集合。
-
我可能对数组知之甚少,但我对集合一无所知。这是否意味着我必须重写整个程序?
-
不,不是整个程序。但是无论如何,整个程序中只有几行代码。会写一个答案让你开始。
-
我不这么认为,您可以使用您的数组并创建一个整数列表并存储每个相似性的索引!