내 과제에 대해 복권 게임을하고 있습니다 (사용자 입력 6 번, 8 개의 고유 한 승리 번호를 생성하고 마지막 번호 2 개를 보완합니다). 입력 숫자가 1에서 45 사이이고 입력이 정수 여야하면 사용자 입력 검사와 관련하여 도움이 필요합니다. 입력이 정수가 아니면 오류가 발생합니다.Java에서 정수로만 사용자 입력 확인
이 프로그래밍 방식은 절차 방식으로, 어떻게 객체 지향 방식으로 변경할 수 있습니까? 나는 다른 java 파일에서 메소드를 작성한 다음이 main으로 다시 링크해야한다는 것을 알고있다. 어떻게 할 수 있니?
나는 try와 catch를 시도했다. if와 else (입력 검사를 위해)하지만 배열에있을 때 사용자 입력을 검사하는 방법을 모른다. 도와 줘서 고마워.
class Lottery {
public static void main (String[] args) {
System.out.println("\nWelcome to the Lottery game.");
System.out.println("You can enter numbers from 1 to 45.");
// User input into an array
int[] input = new int[6];
Scanner scanner = new Scanner(System.in);
System.out.println("\nPlease enter your 6 lucky numbers: ");
for(int j = 0; j < 6; j++) {
input[j]=scanner.nextInt();
}
int check = scanner.nextInt();
if(check < 0 && check > 45) {
System.out.println("\nERROR: Please enter only numbers from 1 to 45!");
}
// Printing out unique winning numbers from random generator
System.out.println("\nWinning numbers: ");
MultiRandomGenerator mrg = new MultiRandomGenerator();
int[] set;
set = mrg.getSet();
for (int i = 0; i < set.length; i++) {
System.out.print(set[i] + " ");
}
// Loops for counting how many numbers user has guessed right
int count = 0; // for 6 numbers
int scount = 0; // for 2 last supplementary numbers
for(int i = 0; i < input.length; i++) {
for(int k = 0; k < set.length; k++) {
if (k < 6) {
if (set[k] == input[i]) {
count++;
} else {
if (set[k] == input[i]) {
scount++;
}
}
}
}
}
System.out.print("\n\nYou guessed right " + count + " winning numbers.");
System.out.print("\nYou guessed right " + scount + " suplementary numbers.");
// If statments for printing out winning prizes
if (count == 6) {
System.out.println("\nYou have won 1st price!");
} if (count == 5 && scount == 1) {
System.out.println("\nYou have won 2st price!");
} if (count == 5) {
System.out.println("\nYou have won 3st price!");
} if (count == 4) {
System.out.println("\nYou have won 4st price!");
} if (count == 3 && scount == 1) {
System.out.println("\nYou have won 5st price!");
} if (count == 1 && scount == 2) {
System.out.println("\nYou have won 6st price!");
} else {
System.out.println("\nSorry, you didn't won anything.");
}
}
}
당신이 내 문제를 해결했습니다! :) +1 –