import java.util.Scanner; class Lottery { public static double jackpotChance(int
ID: 3764851 • Letter: I
Question
import java.util.Scanner;
class Lottery
{
public static double jackpotChance(int k, int n, int m)
{
double jackpotChance = 0;
System.out.println(factorial(n)); //factorial
return jackpotChance;
}
public static double factorial(int n)
{
double result = 1;
for (int i = 1; i <= n; i++) //counter i
{
result *= i;
}
return result;
}
public static int[] enterNumbers(int k, int n)
{
System.out.println();
Scanner s = new Scanner(System.in);
System.out.println("Enter k.");
k = s.nextInt();
System.out.println("Enter n.");
n = s.nextInt();
final int SIZE = k;
int enterNumbers[]= new int[SIZE];
System.out.println("Enter " + k + " integers between 1 and " + n + ".");
int i=SIZE;
for (i = 0; i < enterNumbers.length; i++) //counter i
{
System.out.println("Enter the next number");
Scanner ss = new Scanner(System.in);
int p = ss.nextInt();
if (p >= 1 && p <= n)
{
enterNumbers[i] = p;
}
else
{
System.out.println("Invalid input, please try again.");
i--;
}
}
System.out.println();
System.out.println("Your chosen numbers are: ");
for (i = 0; i < enterNumbers.length; i++)
{
System.out.print(enterNumbers[i] + " ");
}
System.out.println();
System.out.println("Enter m.");
int m = s.nextInt();
jackpotChance(k,n,m);//jackpot
drawNumbers(k,n);
return enterNumbers;
}
public static int[] drawNumbers(int k, int n)
{
int drawNumbers[]= new int[k];
int randNumber;
int i=k;
for (i = 0; i < drawNumbers.length; i++)
{
randNumber = (int) (Math.random()*n + 1); // random draw number
drawNumbers[i] = randNumber; }
System.out.println();
System.out.println("Your drawn numbers are: ");
for (i = 0; i < drawNumbers.length; i++) //counter i
{
System.out.print(drawNumbers[i] + " ");
}
return drawNumbers;
}
public static void main (String[] args)
{
System.out.println("Welcome to the Tennessee Lottery");
System.out.println("----------------------------");
int k = 0;
int n = 0;
enterNumbers(k,n);
if(containSameElements(a,b)==true) //THIS IS WHERE THE PROBLEM IS.
System.out.println("Winner!");
else
System.out.println("Loser.");
}
public static boolean containSameElements(int[] a, int[] b)
{
int len1 = a.length;
int len2 = b.length;
if(len1!=len2)
return false;
else
{
int flag = 0;
for(int i=0;i<len1;i++)
{
for(int j=0;j<len2;j++)
{
if(a[i]==b[j])
{
flag = 1;
break;
}
}
if(flag==0)
return false;
else
flag = 0;
}
}
return true;
}
}
This is my code. I have included the problem portion in a comment. It is in the main method of the code. I need to compare k and n as arrays. I do not know how to state that while calling my method. Thanks in advance, comment for any questions
Explanation / Answer
public static boolean containSameElements(int[] a, int[] b)
{
int len1 = a.length;
int len2 = b.length;
if(len1!=len2)
return false;
else
{
//sort both arrays and then compare their elements
Arrays.sort(a);
Array.sort(b);
for(int i = 0; i < a.length ; i++){
if(a[i] != b[i])
return false;
}
}
return true;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.