Download CSE 292 Java Programming Professor Tong Lai Yu Homework 2

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CSE 292 Java Programming
Professor Tong Lai Yu
Homework 2
Santiago Campero
1) The programs Account.java and AccountTest.java are from your
textbook. As stated in AccountTest.java, write the code to
withdraw money from account.
Program Run
account1 balance: $50.00
account2 balance: $0.00
Enter withdrawal amount for account1: 34
subtracting 34.00 from account1 balance
account1 balance: $16.00
account2 balance: $0.00
Enter withdrawal amount for account2: 3
subtracting 3.00 from account2 balance
No sufficient funds, you have only $ 0.0
account1 balance: $16.00
account2 balance: $0.00
Account.java
// Account.java
// Account class with a constructor to
// initialize instance variable balance.
package edu.CSE292.HW2a;
public class Account
{
private double balance; // instance variable that stores the balance
// constructor
public Account( double initialBalance )
{
// validate that initialBalance is greater than 0.0;
// if it is not, balance is initialized to the default value 0.0
if ( initialBalance > 0.0 )
balance = initialBalance;
} // end Account constructor
// credit (add) an amount to the account
public void credit( double amount )
{
balance = balance + amount; // add amount to balance
} // end method credit
/* write code to declare method debit */
public void withdraw(double withdrawAmount)
{
if(withdrawAmount <= balance)
{
balance = balance - withdrawAmount;
}
else
System.out.println("No sufficient funds, you have only $ " + balance);
}
// return the account balance
public double getBalance()
{
return balance; // gives the value of balance to the calling method
} // end method getBalance
} // end class Account
AccountTest.java
//Lab 1: AccountTest.java
//Create and manipulate an Account object.
package edu.CSE292.HW2a;
import java.util.Scanner;
public class AccountTest
{
// main method begins execution of Java application
public static void main( String args[] )
{
Account account1 = new Account( 50.00 ); // create Account object
Account account2 = new Account( -7.53 ); // create Account object
// display initial balance of each object
System.out.printf( "account1 balance: $%.2f\n",
account1.getBalance() );
System.out.printf( "account2 balance: $%.2f\n\n",
account2.getBalance() );
// create Scanner to obtain input from command window
@SuppressWarnings("resource")Scanner input = new Scanner( System.in );
double withdrawalAmount; // withdrawal amount read from user
System.out.print( "Enter withdrawal amount for account1: " );
withdrawalAmount = input.nextDouble(); // obtain user input
System.out.printf( "\nsubtracting %.2f from account1
balance\n",withdrawalAmount);
/* write code to withdraw money from account */
account1.withdraw(withdrawalAmount);
// display balances
System.out.printf( "account1 balance: $%.2f\n",
account1.getBalance() );
System.out.printf( "account2 balance: $%.2f\n\n",
account2.getBalance() );
System.out.print( "Enter withdrawal amount for account2: " );
withdrawalAmount = input.nextDouble(); // obtain user input
System.out.printf( "\nsubtracting %.2f from account2 balance\n",
withdrawalAmount );
/* write code to withdraw from account */
account2.withdraw(withdrawalAmount);
// display balances
System.out.printf( "account1 balance: $%.2f\n",
account1.getBalance() );
System.out.printf( "account2 balance: $%.2f\n",
account2.getBalance() );
} // end main
} // end class AccountTest
2) Program templates Palindrome.java and PalindromeTest.java are
provided.Write the code as stated in Palindrome.java and test the
code using PalindromeTest.java
Program Runs
Enter five digit number:
12321
12321 is a palindrome
Enter five digit number:
12345
12345 is not a palindrome
Palindrome.java
//Lab 2: Palindrome.java
//Program tests for a palindrome
package edu.CSE292.HW2b;
import java.util.Scanner;
public class Palindrome
{
// checks if a 5-digit number is a palindrome
public void checkPalindrome()
{
Scanner input = new Scanner( System.in );
int number; // user input number
int digit1; // first digit
int digit2; // second digit
int digit3;
int digit4; // fourth digit
int digit5; // fifth digit
int digits; // number of digits in input
number = 0;
digits = 0;
/* Write code that inputs a five-digit number. Display an error message
if the number is not five digits. Loop until a valid input is received. */
System.out.println( "Enter five digit number: " ); // prompt
number = input.nextInt(); // read number
while (number < 10000 && number > 99999)
{
System.out.println("Incorrect input, please try again...");
System.out.println( "Enter five digit number: " ); // prompt
number = input.nextInt(); // read number
}
/* Write code that separates the digits in the five digit number. Use
division to isolate the left-most digit in the number, use a remainder
calculation to remove that digit from the number. Then repeat this
process. */
digit1 = number / 10000;
digit2 = number / 1000 % 10;
digit3 = number % 1000 / 100 % 10;
digit4 = number % 10000 % 1000 % 100 / 10;
digit5 = number % 10000 % 1000 % 100 % 10;
/* Write code that determines whether the first and last digits are
identical and the second and Fourth digits are identical. Output
whether or not the original string is a palindrome. */
if (digit1 == digit5 && digit2 == digit4)
System.out.printf("%d is a palindrome", number);
else
System.out.printf("%d is not a palindrome", number);
} // end method checkPalindrome
} // end class Palindrome
PalindromeTest.java
//Lab 2: PalindromeTest.java
//Test application for class Palindrome
package edu.CSE292.HW2b;
public class PalindromeTest
{
public static void main( String args[] )
{
Palindrome application = new Palindrome();
application.checkPalindrome();
} // end main
} // end class PalindromeTest
3)Program templates Largest.java and LargestTest.java are provided.
Write the code as stated in Largest.java and test the code using LargestTest.java
Program Run
1
2
The
3
The
4
The
5
The
9
number entered is 2
number entered is 3
number entered is 4
number entered is 5
The number entered is
8
The number entered is
7
The number entered is
5
The number entered is
7
The number entered is
8
The number entered is
Largest number is 9
9
8
7
5
7
8
Largest.java
//Lab 3: Largest.java
//Program determines and prints the largest of ten numbers.
package edu.CSE292.HW2c;
import java.util.Scanner;
public class Largest
{
// determine the largest of 10 numbers
public void determineLargest()
{
Scanner input = new Scanner( System.in );
int largest; // largest number
int number; // user input
int counter; // number of values entered
/* write code to get the first integer and store it in variable largest */
number = input.nextInt();
largest =number;
/* write code to initialize the number of integers entered */
counter =0;
/* write code to loop until 10 numbers are entered */
/* write code to prompt the user to enter a number and read that number */
/* write code to test whether the number entered is greater than the largest
if so, replace the value of largest with the entered number */
/* write code to increment the number of integers entered */
while (counter < 10){
number = input.nextInt();
System.out.printf( "The number entered is %d\n", number );
if (largest < number)
largest = number;
counter++;
}
System.out.printf( "Largest number is %d\n", largest );
} // end method determineLargest
} // end class Largest
LargestTest.java
//Lab 3: LargestTest.java
//Test application for class Largest
package edu.CSE292.HW2c;
public class LargestTest
{
public static void main( String args[] )
{
Largest application = new Largest();
application.determineLargest();
} // end main
} // end class LargestTest
4) Modify DrawPanel.java of Fig. 4.18 to draw the following:





a triangle
a circle
a pentagon
a filled rectangle
an ellipse
Program Run
DrawPanel.java
// Lab4
// Fig. 4.18: DrawPanel.java
// Using drawLine to connect the corners of a panel.
package edu.CSE292.HW2d;
import java.awt.Graphics;
import javax.swing.JPanel;
public class DrawPanel extends JPanel
{
// draws an X from the corners of the panel
public void paintComponent( Graphics g )
{
// call paintComponent to ensure the panel displays correctly
super.paintComponent( g );
int width = getWidth(); // total width
int height = getHeight(); // total height
// draw a line for triangle
g.drawLine( 0, 0, width/10, 0 );
g.drawLine(0, 0, 0, width/10);
g.drawLine( 0, height/10, width/10, 0 );
// draw a circle
g.drawOval(0, 0, width, height);
// draw a polygon pentagon
int Cursor;
int[] XArray = {80, 40, 110, 180, 160 };
int[] YArray = {20, 70, 120, 70, 20};
g.drawPolygon (XArray, YArray, 5);
Cursor = 0;
while (Cursor < 5) {
XArray [Cursor] = XArray [Cursor] + 200;
Cursor = Cursor + 1;
}
// draw filled rectangle
g.drawRect(90, 40, 50, 30);
g.fillRect(90, 40, 50, 30);
// draw ellipse
g.drawOval(100, 150, width/8, height/4);
} // end method paintComponent
} // end class DrawPanel
DrawPanelTest.java
//Fig. 4.19: DrawPanelTest.java
// Application to display a DrawPanel.
package edu.CSE292.HW2d;
import javax.swing.JFrame;
public class DrawPanelTest
{
public static void main( String[] args )
{
// create a panel that contains our drawing
DrawPanel panel = new DrawPanel();
// create a new frame to hold the panel
JFrame application = new JFrame();
// set the frame to exit when it is closed
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
application.add( panel ); // add the panel to the frame
application.setSize( 250, 250 ); // set the size of the frame
application.setVisible( true ); // make the frame visible
} // end main
} // end class DrawPanelTest