Example Output:
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);
}
}
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);
}
}
Example Output: STARTING CODE: Assignment5RecursionConsoleDriver.java: import java.io.*; public class Assignment5RecursionConsoleDriver { public static void main(String[]...
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) { // 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) { 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) { 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 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, 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) { 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); 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 (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[]) { 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);...