Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Look for some java help with this program. I just two more things added to this

ID: 3822989 • Letter: L

Question

Look for some java help with this program.

I just two more things added to this code. A loop at the end that will ask the user if they want to quit if they do want to quit the program stops if they don't it loads a new number sequence. After that if two more classes MultipleOf3 and MultipleOf10 where added and put in the rand choice that would be helpful

Thanks

my code.

main.java

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections; // collection package is imported as array is used

import java.util.List; // list is a part of collection package

import java.util.Random;

import java.util.Scanner; // this is imported for user input

class Main // Main Class
{

public static void main(String[] args) // Main method

{

List<Sequence> list = new ArrayList<Sequence>();// list is created for storage of array
// intance of classe are put in the classified list
list.add(new Fibonnaci()); // for fibonacci series

list.add(new MultipleOf5());// for multiple of 5

list.add(new MultipleOf8());// for the factors of 8

  

Random rand = new Random(); // Object is created for random class

int n = rand.nextInt(2)+1; // user input of int data type
Sequence seq = list.get(n);

// print statement for the input of next number in the series.
System.out.print("What is the next number in this sequence? ");

Integer nums[] = seq.getSequence();// to retrieve the sequence

for(int i=0;i<6;i++) // for loop is defined
{

System.out.print(nums[i]+", "); // print statement to print the numbers

}

System.out.println("..."); // print the ...

List<Integer> randomNumbers = getRandomNumbers(nums);

if(!randomNumbers.contains(nums[6])) // for putting the correct answer in choice in //the case not yet present

{
int index = rand.nextInt(3)+1; //user input of int data type.

randomNumbers.set(index, nums[6]);

}   
// to the options to the users
for(int i=0;i<4;i++) // for loop is defined

{
System.out.println(randomNumbers.get(i)); // print the no.s

}

Scanner scan = new Scanner(System.in); // Object for the scanner class id defined
// For getting user's choice

System.out.print("Enter the number: ");// print statement to enter the numbers.

int num = scan.nextInt();// For the user input
// if conditional statement is defined in order to check if the chosen number is correct or //not
if(nums[6]==num)

System.out.println("Your choice was correct");// print if chosen number is right

else

System.out.println("Your choice was wrong");// print if the chosen number is not //right

scan.close();// method calling

}

public static List<Integer> getRandomNumbers(Integer arr[])// in order to get the random //numbers fron the sequence array

{
Integer[] arr1 = new Integer[10];// object is created

for(int i=0;i<10;i++) // for loop

arr1[i] = arr[i]; //defining the array

List<Integer> list = Arrays.asList(arr1); // array list is defined

Collections.shuffle(list);

return list.subList(0, 4); // shows the return

}

}

Sequence.java

interface Sequence // interface is defined for the method getSequence
{

public Integer[] getSequence(); //getSequence method is defined

}

Fibonnaci.java

class Fibonnaci implements Sequence // inhetritance is used and interface sequence is implemented //by the class fibonacci

{

Integer[] arr = new Integer[10]; // Object is created

public Fibonnaci() // Constructor is defined as the name is similar to the class

{
fib(9); //for the calculation of Fibonacci series

}
public Integer[] getSequence() // Again getSequence method is defined

{
return arr; // shows the array to be returned

}
public int fib(int num) // variable is defined

{
if(num==0||num==1) // conditional statement if else is defined

{

if(arr[num]==null)

arr[num]=1;

return 1;

}

else

{
int fib = fib(num-1) + fib(num-2); // show the calculation for the fibonacci series

if(arr[num]==null) // if array will be empty

arr[num]=fib;

return fib; // shows the return value

}

}

}

MultipleOf8.java

class MultipleOf8 implements Sequence// Again inheritance is used and class MultipleOf8 implements //interface Sequence

{
Integer[] arr = new Integer[10]; // object is created

public MultipleOf8() // Default constructor

{

table(1,8); //recursion is used for table of 8

}
public Integer[] getSequence() // GetSequence method

{
return arr; // return value

}

public int table(int i,int n) // variables
{
int num; // variables

if(i==11)// if else conditional statement
{

return 0;

}

else{
// calculation for table
num=n*i;

arr[i-1]= num;

return (table(++i,n)); // returns the table

}

}

}

MultipleOf5.java

class MultipleOf5 implements Sequence // again class MultipleOf5 implements interface Sequence //through inheritance

{
Integer[] arr = new Integer[10]; // object creation

public MultipleOf5() // default constructor is defined

{
table(1,5); //recursion is used for the table of 5

}

public Integer[] getSequence() // getSequence method

{
return arr;

}
// Variables are defined
public int table(int i,int n)
{
int num;
// if else conditional statement
if(i==11)
  
{
return 0; // returns zero

}

else{
// calculation for the table
num=n*i;

arr[i-1]= num;

return (table(++i,n)); // returns the result as table

}

}

}

Explanation / Answer

Main.java

import java.util.ArrayList;

import java.util.Arrays;
import java.util.Collections; // collection package is imported as array is used
import java.util.List; // list is a part of collection package
import java.util.Random;
import java.util.Scanner; // this is imported for user input

class Main // Main Class
{
public static void play(List<Sequence> list, Scanner scan) {
  

Random rand = new Random(); // Object is created for random class
int n = rand.nextInt(4) + 1; // user input of int data type
Sequence seq = list.get(n);

// print statement for the input of next number in the series.
System.out.print("What is the next number in this sequence? ");
Integer nums[] = seq.getSequence();// to retrieve the sequence
for (int i = 0; i < 6; i++) // for loop is defined
{
System.out.print(nums[i] + ", "); // print statement to print the
// numbers
}
System.out.println("..."); // print the ...
List<Integer> randomNumbers = getRandomNumbers(nums);
if (!randomNumbers.contains(nums[6])) // for putting the correct answer
// in choice in //the case not yet
// present
{
int index = rand.nextInt(3) + 1; // user input of int data type.
randomNumbers.set(index, nums[6]);
}
// to the options to the users
for (int i = 0; i < 4; i++) // for loop is defined
{
System.out.println(randomNumbers.get(i)); // print the no.s
}
// id defined
// For getting user's choice
System.out.print("Enter the number: ");// print statement to enter the
// numbers.
int num = scan.nextInt();// For the user input
// if conditional statement is defined in order to check if the chosen
// number is correct or //not
if (nums[6] == num)
System.out.println("Your choice was correct");// print if chosen
// number is right
else
System.out.println("Your choice was wrong");// print if the chosen
// number is not //right
  
  

  
}

public static void main(String[] args) // Main method
{
List<Sequence> list = new ArrayList<Sequence>();// list is created for
// storage of array
// intance of classe are put in the classified list
list.add(new Fibonnaci()); // for fibonacci series
list.add(new MultipleOf3());// for the factors of 3
list.add(new MultipleOf5());// for multiple of 5
list.add(new MultipleOf8());// for the factors of 8
list.add(new MultipleOf10());// for the factors of 10
  
Scanner scan = new Scanner(System.in);
while(true)
{
play(list, scan);
scan.nextLine();
System.out.print("Do you wish to quit? (Y/N): ");
String choice = scan.nextLine();
if (choice.equalsIgnoreCase("y"))
{
break;
}
}
scan.close();
}

public static List<Integer> getRandomNumbers(Integer arr[])// in order to
// get the random
// //numbers fron
// the sequence
// array
{
Integer[] arr1 = new Integer[10];// object is created
for (int i = 0; i < 10; i++)
// for loop
arr1[i] = arr[i]; // defining the array
List<Integer> list = Arrays.asList(arr1); // array list is defined
Collections.shuffle(list);
return list.subList(0, 4); // shows the return
}
}

MultipleOf3.java

public class MultipleOf3 implements Sequence // again class MultipleOf3
// implements
// interface Sequence //through
// inheritance
{
Integer[] arr = new Integer[10]; // object creation

public MultipleOf3() // default constructor is defined
{
table(1, 3); // recursion is used for the table of 3
}

public Integer[] getSequence() // getSequence method
{
return arr;
}

// Variables are defined
public int table(int i, int n) {
int num;
// if else conditional statement
if (i == 11)

{
return 0; // returns zero
} else {
// calculation for the table
num = n * i;
arr[i - 1] = num;
return (table(++i, n)); // returns the result as table
}
}
}

MultipleOf10.java

public class MultipleOf10 implements Sequence // again class MultipleOf10
// implements
// interface Sequence //through
// inheritance
{
Integer[] arr = new Integer[10]; // object creation

public MultipleOf10() // default constructor is defined
{
table(1, 10); // recursion is used for the table of 10
}

public Integer[] getSequence() // getSequence method
{
return arr;
}

// Variables are defined
public int table(int i, int n) {
int num;
// if else conditional statement
if (i == 11)

{
return 0; // returns zero
} else {
// calculation for the table
num = n * i;
arr[i - 1] = num;
return (table(++i, n)); // returns the result as table
}
}
}

Rest of the classes/interface are same.

Please give a thumbsup if this answered your question.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at drjack9650@gmail.com
Chat Now And Get Quote