Ссылки на уступки: http://i.imgur.com/fc86hG9.pngпринимая пользовательский ввод для массива
У меня немного проблемы взыскательной как принять ряд чисел и применять их в массив без цикла. Не только это, но у меня есть немного проблем, сравнивая их. То, что я написал до сих пор:
import java.util.Scanner;
public class Lottery {
public static void main(String[] args) {
int userInputs[] = new int[5];
int lotteryNumbers [] = new int[5];
int matchedNumbers =0;
char repeatLottery = '\0';
Scanner in = new Scanner (System.in);
do{
System.out.println("Enter your 5 single-digit lottery numbers.\n (Use the spacebar to separate digits): ");
for(int i = 0; i <5; i++)
userInputs[i] = in.nextInt();
System.out.println("Your inputs: ");
printArray(userInputs);
System.out.println("\nLottery Numbers: ");
readIn(lotteryNumbers);
for(int i=0; i<5; i++) {
System.out.print(lotteryNumbers[i] + " ");
}
matchedNumbers = compareArr(userInputs, lotteryNumbers);
System.out.println("\n\nYou matched " + matchedNumbers + " numbers");
System.out.println("\nDo you wish to play again?(Enter Y or N): ");
repeatLottery = in.next().charAt(0);
}
while (repeatLottery == 'Y' || repeatLottery == 'y');
}
public static void printArray(int arr[]){
int n = arr.length;
for (int i = 0; i < n; i++) {
System.out.print(arr[i] + " ");
}
}
public static void readIn(int[] List) {
for(int j=0; j<List.length; j++) {
List[j] = (int) (Math.random()*10);
}
}
public static int compareArr (int[] list1, int[] list2) {
int same = 0;
for (int i = 0; i <= list1.length-1; i++) {
for(int j = 0; j <= list2.length-1; j++) {
if (list1[i] == list2[j]) {
same++;
}
}
}
return same;
}
}
Как вы можете заметить, я закомментирована входной линии, потому что я не совсем уверен, как справиться с этим. Если у меня есть их в массиве, я бы смог сравнить их довольно легко, я думаю. Это наши первые массивы обработки присваивания, и я думаю, что это кажется немного углубленным, поскольку у него есть только один класс-период; Итак, простите мое невежество. : P
Edit:
Я добавил новый метод в конце, чтобы сравнить цифры, но проблема в том, что сравнивает их в-общем, а не от позиции к позиции. Сейчас это главный вопрос.
Отмеченная часть должна быть уже правильной способ ее написать? Затем прокрутите и сравните два массива. – Patashu
Значит, вам не разрешено использовать цикл for для установки значений массива? Это так? Неясно, каков ваш вопрос. – ktm5124