gpt4 book ai didi

java - 彩票号码生成器

转载 作者:行者123 更新时间:2023-11-30 06:11:55 27 4
gpt4 key购买 nike

我正在为类编写程序。这是一种彩票游戏。这是给出的问题:

写一个java程序。该程序应该有一个名为 lotteryNumber() 的方法,它应该接受两个整数,最大和最小数字,并且应该随机生成并返回这两个数字之间的数字(包括两者)。

此外,提供一个名为 checkWinner() 的方法,它应该接受两个数组(一个用于彩票号码和一个用于用户号码)并检查它们是否相同(相同的号码和序列)。如果他们是同样,它应该返回true,否则应该返回false。请使用您自己的逻辑来检查是否相等使用相等运算符。不允许使用 Arrays.equals() 等预建函数!

在 main 方法中,使用 lotteryNumber() 方法随机生成 4 个数字,介于 0 – 10(包括两者)之间。然后要求用户从键盘输入 4 个 0 到 10 之间的数字。然后使用 checkWinner() 方法检查并显示用户是否中奖。

我的问题是 lotteryNumber 方法。我应该如何只返回一个数字而不使用数组并仍然生成 4 个数字?请记住,我通常是数组和 java 的新手,我需要在 main 方法中将彩票号码放在数组中,以便我可以将它们与用户输入进行比较。或者至少那是我从问题中得到的结果

这就是我目前所拥有的。很抱歉这么乱,我一直在尝试不同的方法,希望能弄明白

import java.util.Random;
import java.util.Scanner;

public class Assignment04 {
public static void main (String [] args){

Scanner input = new Scanner (System.in);

Random r = new Random ();

int [] user= new int [4];
//int [] rand= new int [4];

int rand1= r.nextInt(10);
int rand2= r.nextInt(10);
int rand3 = lotteryNumber(rand1,rand2);

/*for (int i=0; i<rand.length; i++){
rand [i] = r.nextInt(11);
}

for (int j=0; j<rand.length; j++){
System.out.print(rand[j]+",");
}*/

System.out.println("");
System.out.print("Enter number 1 between (1-10)= ");
user[0] = input.nextInt();
System.out.print("Enter number 2 between (1-10)= ");
user[1] = input.nextInt();
System.out.print("Enter number 3 between (1-10)= ");
user[2]= input.nextInt();
System.out.print("Enter number 4 between (1-10)= ");
user[3] = input.nextInt();



System.out.printf("Your numbers- %d, %d, %d, %d \n",user[0],user[1],user[2],user[3]);

if (checkNumber(user,rand)){
System.out.println("Winner!");
}

else System.out.println("Better luck next time!");

}


public static int lotteryNumber(int max, int min){

Random r = new Random ();
max = 0;
min= 100;
int n= 1+r.nextInt(10) ;

for (int i=0; i< 4;i++){

n = 1+r.nextInt(10);
if (n > max) max= n;
else if (n < min) min = n ;
else if (n<max && n>min) n = r.nextInt(10);

}

return n;
}

public static boolean checkNumber(int [] lottery, int[] input){

boolean a ;
int b=0;

for (int i=0; i<lottery.length; i++){
if (lottery[i]==input[i]) b++;
}

if (b==lottery.length) a = true;
else a = false;

return a;
}

任何帮助将不胜感激!

最佳答案

由于这是一项家庭作业,我将避免向您提供代码,但我会帮助您理解概念,您可以努力在 Java 中实现它。

您只需在 main 方法中创建一个数组,然后让 lotteryNumber() 方法返回一个数字。然后用从 lotteryNumber() 方法中获得的随机数填充 main 方法中的数组。

像这样:

Main(){
array[] numbers;
loop 4 times{
numbers[index] = lotteryNumber(0, 10);
}
}
public int lotteryNumber(int min, int max){
return (random number between min and max);
}

编辑

由于您在评论中提到您还没有结束循环,您仍然可以手动输入随机数:

numbers[0] = lotteryNumber(0, 10);
numbers[1] = lotteryNumber(0, 10);
numbers[2] = lotteryNumber(0, 10);
numbers[3] = lotteryNumber(0, 10);

关于java - 彩票号码生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33508212/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com