Question

You are to write a class called AssignmentsRecursion. In the class, you will write 3 public methods (described below). The sq

Example Output:

0 X 6. C:\WINDOWS\system32\cmd.exe puzzleFornula(1) returns: 5 puzzleLoop(1) returns: 5 puzzle Recurse (1) returns: 5 puzzleF

Graph Iteration Formula result 1201 Loop result 1201 Recursion result 1201 24

STARTING CODE:

Assignment5RecursionConsoleDriver.java:

import java.io.*;

public class Assignment5RecursionConsoleDriver
{
   public static void main(String[] args) throws IOException
   {
       System.out.println("puzzleFormula(1) returns: " + Assignment5Recursion.puzzleFormula(1));
       System.out.println("puzzleLoop(1) returns: " + Assignment5Recursion.puzzleLoop(1));
       System.out.println("puzzleRecurse(1) returns: " + Assignment5Recursion.puzzleRecurse(1));

       System.out.println("\npuzzleFormula(2) returns: " + Assignment5Recursion.puzzleFormula(2));
       System.out.println("puzzleLoop(2) returns: " + Assignment5Recursion.puzzleLoop(2));
       System.out.println("puzzleRecurse(2) returns: " + Assignment5Recursion.puzzleRecurse(2));

       System.out.println("\npuzzleFormula(3) returns: " + Assignment5Recursion.puzzleFormula(3));
       System.out.println("puzzleLoop(3) returns: " + Assignment5Recursion.puzzleLoop(3));
       System.out.println("puzzleRecurse(3) returns: " + Assignment5Recursion.puzzleRecurse(3));

       System.out.println("\npuzzleFormula(7) returns: " + Assignment5Recursion.puzzleFormula(7));
       System.out.println("puzzleLoop(7) returns: " + Assignment5Recursion.puzzleLoop(7));
       System.out.println("puzzleRecurse(7) returns: " + Assignment5Recursion.puzzleRecurse(7));
   }
}

Assignment5RecursionGraphicDriver.java:

//This program produces a GUI for the squares puzzle problem. The user puts
//in the iteration and it produces a graph and calls/displays the formula, loop, and
//recursive solutions.

import java.awt.*;
import java.awt.Color;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class Assignment5RecursionGraphicDriver extends JFrame //implements ActionListener
{
   public Assignment5RecursionGraphicDriver()
   {
setTitle("CSC205AB Assignment5Recursion Display");
setSize(430, 400);
setLocation(50,50);
Container contentPane = getContentPane();

   final JTextField iterationText = new JTextField(5);

JButton jbtGraph = new JButton("Graph");

final JPanel panel = new JPanel();
   final JPanel inputPanel = new JPanel(new GridLayout(2,5));
   Label iterationLabel = new Label("Iteration",Label.CENTER);
   inputPanel.add(iterationLabel,0);
   Label formulaLabel = new Label("Formula result",Label.CENTER);
   inputPanel.add(formulaLabel,1);
   Label loopLabel = new Label("Loop result",Label.CENTER);
   inputPanel.add(loopLabel,2);
   Label recursionLabel = new Label("Recursion result",Label.CENTER);
   inputPanel.add(recursionLabel,3);
   inputPanel.add(iterationText,4);

   final Label formulaResultLabel = new Label("",Label.CENTER);
   inputPanel.add(formulaResultLabel,5);
   final Label loopResultLabel = new Label("",Label.CENTER);
   inputPanel.add(loopResultLabel,6);
   final Label recursionResultLabel = new Label("",Label.CENTER);
   inputPanel.add(recursionResultLabel,7);


   contentPane.add(inputPanel, BorderLayout.SOUTH);
contentPane.add(panel, BorderLayout.CENTER);
contentPane.add(jbtGraph, BorderLayout.NORTH);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);

jbtGraph.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
//set up the Graphics
Graphics g = panel.getGraphics();
           g.setColor(Color.BLUE);
           g.clearRect(0,0,panel.getWidth(), panel.getHeight());

           //find various dimensions for the panel
           int n=Integer.parseInt(iterationText.getText());
           int maxrows = 2*n + 1;
           int middlex = panel.getWidth()/2;
           int middley = panel.getHeight()/2;
           int smallerDimension = Math.min(panel.getHeight(), panel.getWidth());
           int squaresize = Math.min(60, smallerDimension/maxrows);
           int ystart = middley - (maxrows*squaresize)/2 - squaresize;
           int xstart = middlex - squaresize/2 + squaresize;


           int numinrow = -1; //to start

           for (int row=1; row<=maxrows; row++)
           {
               if (row<=(maxrows+1)/2)       //up to and including middle (longest) row
               {
                   numinrow += 2;           //each row has 2 more squares than prev. row
                   ystart += squaresize;
                   xstart -= squaresize;
                   for (int j=0; j<numinrow; j++) //draw each square in the row
                   {
                       g.drawRect(xstart+j*squaresize, ystart, squaresize, squaresize);
                   }

               }
               else                       //lower half
               {
                   numinrow -= 2;           //each row has 2 less than prev. row
                   ystart += squaresize;
                   xstart += squaresize;
                   for (int j=0; j<numinrow; j++)   //draw each square in the row
                   {
                       g.drawRect(xstart+j*squaresize, ystart, squaresize, squaresize);
                   }

               }


           }

           //call the puzzle methods to get results; display them
           formulaResultLabel.setText("" + Assignment5Recursion.puzzleFormula(n));
           loopResultLabel.setText("" + Assignment5Recursion.puzzleLoop(n));
           recursionResultLabel.setText("" + Assignment5Recursion.puzzleRecurse(n));
}
}
);

   }

   public static void main(String[] args)
   {
       //create a new instance
       Assignment5RecursionGraphicDriver myDriver = new Assignment5RecursionGraphicDriver();
       myDriver.setVisible(true);

   }
}

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Please find the answer below.
Please do comments in case of any issue. Also, don't forget to rate the question. Thank You.

Assignment5RecursionGraphicDriver.java

package c8;

//This program produces a GUI for the squares puzzle problem. The user puts
//in the iteration and it produces a graph and calls/displays the formula, loop, and
//recursive solutions.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

class Assignment5Recursion{

   public static int puzzleFormula(int n) {
       return 2*n*n + 2*n + 1;
   }

   public static int puzzleLoop(int n) {
       int sum = 2*n + 1;
      
       for (int i = 1; i <= n; i++) {
           sum += 2*(2*i-1);
       }
       return sum;
   }

   public static int puzzleRecurse(int n) {
           if(n==0){
               return 1;
           }else{
               return puzzleRecurse(n-1) + 4*n;
           }
   }
}

public class Assignment5RecursionGraphicDriver extends JFrame //implements ActionListener
{
   public Assignment5RecursionGraphicDriver()
   {
       setTitle("CSC205AB Assignment5Recursion Display");
       setSize(430, 400);
       setLocation(50,50);
       Container contentPane = getContentPane();

       final JTextField iterationText = new JTextField(5);

       JButton jbtGraph = new JButton("Graph");

       final JPanel panel = new JPanel();
       final JPanel inputPanel = new JPanel(new GridLayout(2,5));
       Label iterationLabel = new Label("Iteration",Label.CENTER);
       inputPanel.add(iterationLabel,0);
       Label formulaLabel = new Label("Formula result",Label.CENTER);
       inputPanel.add(formulaLabel,1);
       Label loopLabel = new Label("Loop result",Label.CENTER);
       inputPanel.add(loopLabel,2);
       Label recursionLabel = new Label("Recursion result",Label.CENTER);
       inputPanel.add(recursionLabel,3);
       inputPanel.add(iterationText,4);

       final Label formulaResultLabel = new Label("",Label.CENTER);
       inputPanel.add(formulaResultLabel,5);
       final Label loopResultLabel = new Label("",Label.CENTER);
       inputPanel.add(loopResultLabel,6);
       final Label recursionResultLabel = new Label("",Label.CENTER);
       inputPanel.add(recursionResultLabel,7);


       contentPane.add(inputPanel, BorderLayout.SOUTH);
       contentPane.add(panel, BorderLayout.CENTER);
       contentPane.add(jbtGraph, BorderLayout.NORTH);

       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       setVisible(true);

       jbtGraph.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent event)
           {
               //set up the Graphics
               Graphics g = panel.getGraphics();
               g.setColor(Color.BLUE);
               g.clearRect(0,0,panel.getWidth(), panel.getHeight());

               //find various dimensions for the panel
               int n=Integer.parseInt(iterationText.getText());
               int maxrows = 2*n + 1;
               int middlex = panel.getWidth()/2;
               int middley = panel.getHeight()/2;
               int smallerDimension = Math.min(panel.getHeight(), panel.getWidth());
               int squaresize = Math.min(60, smallerDimension/maxrows);
               int ystart = middley - (maxrows*squaresize)/2 - squaresize;
               int xstart = middlex - squaresize/2 + squaresize;


               int numinrow = -1; //to start

               for (int row=1; row<=maxrows; row++)
               {
                   if (row<=(maxrows+1)/2) //up to and including middle (longest) row
                   {
                       numinrow += 2; //each row has 2 more squares than prev. row
                       ystart += squaresize;
                       xstart -= squaresize;
                       for (int j=0; j<numinrow; j++) //draw each square in the row
                       {
                           g.drawRect(xstart+j*squaresize, ystart, squaresize, squaresize);
                       }

                   }
                   else //lower half
                   {
                       numinrow -= 2; //each row has 2 less than prev. row
                       ystart += squaresize;
                       xstart += squaresize;
                       for (int j=0; j<numinrow; j++) //draw each square in the row
                       {
                           g.drawRect(xstart+j*squaresize, ystart, squaresize, squaresize);
                       }

                   }


               }

               //call the puzzle methods to get results; display them
               formulaResultLabel.setText("" + Assignment5Recursion.puzzleFormula(n));
               loopResultLabel.setText("" + Assignment5Recursion.puzzleLoop(n));
               recursionResultLabel.setText("" + Assignment5Recursion.puzzleRecurse(n));
           }
       }
               );

   }

   public static void main(String[] args)
   {
       //create a new instance
       Assignment5RecursionGraphicDriver myDriver = new Assignment5RecursionGraphicDriver();
       myDriver.setVisible(true);

   }
}

Edit couco Defactor Navista Concel Nicoiset Window Helg X CSC205AB AssignmentsRecu... Graph r.java X Iteration Formula result

CSC205AB Assignment5Recu... Х A Graph Iteration Formula result Loop result Recursion result 24 1201 1201 1201

Add a comment
Know the answer?
Add Answer to:
Example Output: STARTING CODE: Assignment5RecursionConsoleDriver.java: import java.io.*; public class Assignment5RecursionConsoleDriver {    public static void main(String[]...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • import java.util.Random; import java.util.ArrayList; /** * */ public class hw5_task8 { public static void main(String[] args)...

    import java.util.Random; import java.util.ArrayList; /** * */ public class hw5_task8 { public static void main(String[] args) { int[] grades = randomIntArr(10); printIntArray("grades", grades); ArrayList<Integer> indexesF_AL = selectIndexes_1(grades); System.out.println(" indexesF_AL: " + indexesF_AL); int[] indexesF_Arr = selectIndexes_2(grades); printIntArray("indexesF_Arr",indexesF_Arr); } public static int[] randomIntArr(int N){ int[] res = new int[N]; Random r = new Random(0); for(int i = 0; i < res.length; i++){ res[i] = r.nextInt(101); // r.nextInt(101) returns an in in range [0, 100] } return res; } public static void...

  • import java.util.Scanner; public class TriangleMaker {    public static void main(String[] args) {        //...

    import java.util.Scanner; public class TriangleMaker {    public static void main(String[] args) {        // TODO Auto-generated method stub        System.out.println("Welcome to the Triangle Maker! Enter the size of the triangle.");        Scanner keyboard = new Scanner(System.in);    int size = keyboard.nextInt();    for (int i = 1; i <= size; i++)    {    for (int j = 0; j < i; j++)    {    System.out.print("*");    }    System.out.println();    }    for (int...

  • import java.util.ArrayList; import java.util.List; import java.util.Stack; public class Main { public static void main(String[] args) {...

    import java.util.ArrayList; import java.util.List; import java.util.Stack; public class Main { public static void main(String[] args) { int programCounter = 0; List<String> program = new ArrayList<String>(); Stack<String> stack = new Stack<String>(); // TODO string probably not best program.add("GOTO start<<1>>"); program.add("LABEL Read"); program.add("LINE -1"); program.add("FUNCTION Read -1 -1"); program.add("READ"); program.add("RETURN "); program.add("LABEL Write"); program.add("LINE -1"); program.add("FUNCTION Write -1 -1"); program.add("FORMAL dummyFormal 0"); program.add("LOAD 0 dummyFormal"); program.add("WRITE"); program.add("RETURN "); program.add("LABEL start<<1>>"); program.add("LINE 1"); program.add("FUNCTION main 1 4"); program.add("LIT 0 i"); program.add("LIT 0 j");...

  • import java.util.Scanner; public class StudentClient {       public static void main(String[] args)    {   ...

    import java.util.Scanner; public class StudentClient {       public static void main(String[] args)    {        Student s1 = new Student();         Student s2 = new Student("Smith", "123-45-6789", 3.2);         Student s3 = new Student("Jones", "987-65-4321", 3.7);         System.out.println("The name of student #1 is ");         System.out.println("The social security number of student #1 is " + s1.toString());         System.out.println("Student #2 is " + s2);         System.out.println("the name of student #3 is " + s3.getName());         System.out.println("The social security number...

  • import java.util.Arrays; public class lab {    public static void main(String args[])    {    int...

    import java.util.Arrays; public class lab {    public static void main(String args[])    {    int arr[] = {10, 7, 8, 9, 1, 5,6,7};    int arr2[] = {9, 8, 7, 6, 5, 4, 3, 2, 1};    int arr3[] = {1, 3, 5, 3, 2, 6, 20};    quicksort(arr,0,arr.length-1);    quicksort(arr2,0,arr2.length-1);    quicksort(arr3,0,arr3.length-1);    System.out.println(Arrays.toString(arr));    System.out.println(Arrays.toString(arr2));    System.out.println(Arrays.toString(arr3));       }    private static int partition(int[] items,int low, int high)    {    int i=0;    int j=0;...

  • import java.util.Scanner; public class SCAN { public static void main(String[ ] args) { int x, y,...

    import java.util.Scanner; public class SCAN { public static void main(String[ ] args) { int x, y, z; double average; Scanner scan = new Scanner(System.in); System.out.println("Enter an integer value"); x = scan.nextInt( ); System.out.println("Enter another integer value"); y = scan.nextInt( ); System.out.println("Enter a third integer value"); z = scan.nextInt( ); average = (x + y + z) / 3; System.out.println("The result of my calculation is " + average); } } What is output if x = 0, y = 1 and...

  • import java.util.Scanner; import java.util.ArrayList; public class P3A2_BRANDT_4005916 {    public static void main(String[] args)    {...

    import java.util.Scanner; import java.util.ArrayList; public class P3A2_BRANDT_4005916 {    public static void main(String[] args)    {        String name;        String answer;        int correct = 0;        int incorrect = 0;        Scanner phantom = new Scanner(System.in);        System.out.println("Hello, What is your name?");        name = phantom.nextLine();        System.out.println("Welcome " + name + "!\n");        System.out.println("My name is Danielle Brandt. "            +"This is a quiz program that...

  • import java.util.Scanner; public class Client{ public static void main(String args[]){    Coin quarter = new Coin(25);...

    import java.util.Scanner; public class Client{ public static void main(String args[]){    Coin quarter = new Coin(25); Coin dime = new Coin(10); Coin nickel = new Coin(5);    Scanner keyboard = new Scanner(System.in);    int i = 0; int total = 0;    while(true){    i++; System.out.println("Round " + i + ": "); quarter.toss(); System.out.println("Quarter is " + quarter.getSideUp()); if(quarter.getSideUp() == "HEADS") total = total + quarter.getValue();    dime.toss(); System.out.println("Dime is " + dime.getSideUp()); if(dime.getSideUp() == "HEADS") total = total +...

  • 1. What is the output when you run printIn()? public static void main(String[] args) { if...

    1. What is the output when you run printIn()? public static void main(String[] args) { if (true) { int num = 1; if (num > 0) { num++; } } int num = 1; addOne(num); num = num - 1 System.out.println(num); } public void addOne(int num) { num = num + 1; } 2. When creating an array for primitive data types, the default values are: a. Numeric type b. Char type c. Boolean type d. String type e. Float...

  • Draw a flowchart for this program public class InsertionSort {     public static void main(String a[]) {...

    Draw a flowchart for this program public class InsertionSort {     public static void main(String a[]) {         int[] array = {7, 1, 3, 2, 42, 76, 9};         insertionSort(array);     }     public static int[] insertionSort(int[] input) {         int temp;         for (int i = 1; i < input.length; i++) {             for (int j = i; j > 0; j--) {                 if (input[j] < input[j - 1]) {                     temp = input[j];                     input[j] = input[j - 1];                     input[j - 1] = temp;                 }             }             display(input, i);...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT