On March 4 of the current year, Barefoot Bay, Inc. reacquired 5,000 shares of its common stock
at $89 per share. On August 7, Barefoot Bay sold 3,500 of the reacquired shares at $100 per
share. The remaining 1,500 shares were sold at $88 per share on November 29.
1. Journalize the transactions of March 4, August 7, and November 29. If an amount box does
not require an entry, leave it blank or enter \"0\".
2. What is the balance in Paid-in Capital from Sale of Treasury Stock on December 31 of the
current year?
$Mar. 4Aug. 7Nov. 29
Solution
4-Mar Treasury stock 445000 =5000*89 Cash 445000 7-Aug Cash 350000
=3500*100 Treasury stock 311500 =3500*89 Paid in capital-Treasury stock
38500 29-Nov Cash 132000 =1500*88 Paid in capital-Treasury stock 1500
Treasury stock 133500 =1500*89 2 Balance in Paid-in Capital from Sale of Treasury
Stock = 38500-1500 = $37000.
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
OverviewWe will be adding some validation to our Contact classes t.pdf
1. Overview
We will be adding some validation to our Contact classes to prevent bad values from being
stored in the classes. We will also let the user create new contact objects.
Contact Classes
Copy your three contact classes from your last homework to a new project.
Change your Contact class to an abstract class. This will prevent instantiation of Contact objects.
Add an abstract method, public void validate(), to your Contact class.
Validation
Implement the validate() method in your BusinessContact class.
If the name field is the empty string or null, then throw a NullPointerException.
If the age field is not between 1-100, then throw an IllegalStateException
If either of the phone number fields is not exactly 12 characters, then throw an
IllegalStateException
Implement the validate() method in your PersonalContact class.
Validate name and age as described above
If the address or city field is the empty string or null, then throw a NullPointerException.
If the state field is not exactly 2 characters, then throw an IllegalStateException
If the zip code field is not exactly 5 numeric characters, then throw an IllegalStateException
Note: you should not have any try-catch blocks in your contact classes.
Driver Program
Create a driver program that allows a user to create a personal or business contact. Your program
should prompt the user for a contact type:
Create a new contact?
1. Personal
2. Business
2
It should then prompt the user for all details for that contact type:
Name? Susie Grace
Age? 39
Business Phone? 222-333-4444
Cell Phone? 555-666-7777
Call your validate() method to check for bad input and then print out the toString() of your new
contact object.
Name? Susie Grace
Age? 39
2. Business Phone? 222-333-4444
Cell Phone? 555-666-7777
Business Contact: Susie Grace (39), business - 222-333-4444, cell - 555-666-7777
Validating User Input
Your driver program should have appropriate try-catch blocks to respond to bad user input. This
includes NullPointerExceptions and IllegalStateExceptions. Each exception type should print an
appropriate message to the console.
For example:
Name? Susie Grace
Age? -10
Business Phone? 222-333-4444
Cell Phone? 555-666-7777
Please enter a valid age from 1-100
Another Example:
Name? Susie Grace
Age? 39
Business Phone? 2223334444
Cell Phone? 555-666-7777
Please enter a phone number using the following format: ###-###-####.
Solution
import java.lang.Exception;
import java.util.*;
//Abstract class Contact
abstract class Contact
{
//Instance variable
String name;
int age;
String phoneNo;
//Default constructor to initialize instance variables
Contact()
{
name = null;
age = 0;
3. phoneNo = null;
}//End of constructor
//Abstract method to validate
abstract int validate();
//Abstract method to accept
abstract void accept();
}//End of abstract class Contact
//Class BusinessContact derived from abstract class Contact
class BusinessContact extends Contact
{
//Instance variable
String businessPhone;
//Default constructor
BusinessContact()
{
//Calls base class constructor
super();
businessPhone = null;
}//End of constructor
//Overrides toString() method to display
public String toString()
{
String msg;
msg = "Business Contact: " + name + "(" + age + ")," + " Business - " +
businessPhone + " Cell - " + phoneNo;
return msg;
}//End of toString() method
//Overrides accept() method
void accept()
{
//Creates a scanner class object
Scanner sc = new Scanner(System.in);
4. //Accepts data
System.out.println(" Name? ");
name = sc.nextLine();
System.out.println(" Age? ");
age = sc.nextInt();
sc.nextLine();
System.out.println(" Business Phone? ");
businessPhone = sc.nextLine();
System.out.println(" Cell Phone? ");
phoneNo = sc.nextLine();
}//End of accept method
//Overrides validate method
int validate()
{
int flag = 0;
try
{
//Checks if name is zero length
if(name.length() == 0)
throw new NullPointerException();
}
catch(NullPointerException n)
{
System.out.println("Name cannot be left blank");
//Sets the flag to 1
flag = 1;
}
try
{
//Checks age for between 1 - 100
if(age <= 0)
throw new IllegalStateException();
if(age > 100)
throw new IllegalStateException();
}
5. catch(IllegalStateException ie)
{
System.out.println("Please enter a valid age from 1-100. Age must be between 1 and
100");
flag = 1;
}
try
{
//Checks phone number length for exactly 12
if(phoneNo.length() != 12)
throw new IllegalStateException();
}
catch(IllegalStateException ie)
{
System.out.println("Please enter a phone number using the following format: ###-###-
####. Phone number must be 12 character long");
flag = 1;
}
//returns the flag status
return flag;
}//End of method validate
}//End of class Business contact
//class PersonalContact derived from abstract class Contact
class PersonalContact extends Contact
{
//Instance variable
String city, state, zip;
//Default constructor
PersonalContact()
{
//Calls the base class constructor
super();
city = null;
state = null;
zip = null;
6. }//End of constructor
//Overrides toString() method to display
public String toString()
{
String msg;
msg = "Personal Contact: " + name + "(" + age + ")," + " Cell - " + phoneNo + " City
- " + city + " State - " + state + " Zip - " + zip;
return msg;
}//End of toString() method
//Overrides accept method
void accept()
{
//Creates scanner class object
Scanner sc = new Scanner(System.in);
//Accepts data
System.out.println(" Name? ");
name = sc.nextLine();
System.out.println(" Age? ");
age = sc.nextInt();
sc.nextLine();
System.out.println(" City? ");
city = sc.nextLine();
System.out.println(" State? ");
state = sc.nextLine();
System.out.println(" Zip? ");
zip = sc.nextLine();
System.out.println(" Phone Number? ");
phoneNo = sc.nextLine();
}//End of accept method
//Overrides validate method
int validate()
{
7. int flag = 0;
try
{
//Checks name is null or not
if(name.length() == 0)
throw new NullPointerException();
}
catch(NullPointerException n)
{
System.out.println("Name cannot be left blank");
flag = 1;
}
try
{
//Checks age between 1 - 100
if(age <= 0)
throw new IllegalStateException();
if(age > 100)
throw new IllegalStateException();
}
catch(IllegalStateException ie)
{
System.out.println("Please enter a valid age from 1-100. Age must be between 1 and
100");
flag = 1;
}
try
{
//Checks phone number must be exactly 12
if(phoneNo.length() != 12)
throw new IllegalStateException();
}
catch(IllegalStateException ie)
{
System.out.println("Please enter a phone number using the following format: ###-###-
####. Phone number must be 12 character long");
8. flag = 1;
}
try
{
//Checks city must not be null
if(city.length() == 0)
throw new NullPointerException();
}
catch(NullPointerException n)
{
System.out.println("City cannot be left blank");
flag = 1;
}
try
{
//Checks state length must be exactly 2
if(state.length() != 2)
throw new IllegalStateException();
}
catch(IllegalStateException ie)
{
System.out.println("State must be exactly 2 characters");
flag = 1;
}
try
{
//Checks zip must be 5 character long
if(zip.length() != 5)
throw new IllegalStateException();
}
catch(IllegalStateException n)
{
System.out.println("Zip must be exactly 5 numeric characters");
flag = 1;
}
//returns the status flag
9. return flag;
}//End of method validate
}//End of class Personal Contact
//Driver class
public class ContactDemo
{
//Main method
public static void main(String ss[])
{
//Scanner class object created
Scanner sc = new Scanner(System.in);
//PersonalContact class object created
PersonalContact pc = new PersonalContact();
//BusinessContact class object created
BusinessContact bc = new BusinessContact();
//Loops till user enters 3
do
{
//Displays menu
System.out.println("1) Personal Contact");
System.out.println("2) Business Contact");
System.out.println("3) Exit ");
//Accepts user choice
int choice = sc.nextInt();
switch(choice)
{
case 1:
//Accepts personal contact
pc.accept();
//Calls the validate and checks the flag return value
//If it is zero then print personal contact
if(pc.validate() == 0)
System.out.println(pc);
break;
case 2:
10. //Accepts business contact
bc.accept();
//Calls the validate and checks the flag return value
//If it is zero then print business contact
if(bc.validate() == 0)
System.out.println(bc);
break;
case 3:
System.exit(0);
default:
System.out.println("Invalid Choice");
}//End of switch
}while(true);
}//End of main method
}//End of driver class
Output:
1) Personal Contact
2) Business Contact
3) Exit
1
Name?
Age?
101
City?
bam
State?
ori
Zip?
123
Phone Number?
12-23-45
Name cannot be left blank
Please enter a valid age from 1-100.
Age must be between 1 and 100
Please enter a phone number using the following format: ###-###-####.
11. Phone number must be 12 character long
State must be exactly 2 characters
Zip must be exactly 5 numeric characters
1) Personal Contact
2) Business Contact
3) Exit
2
Name?
Age?
0
Business Phone?
12-23-45
Cell Phone?
12-23-45
Name cannot be left blank
Please enter a valid age from 1-100.
Age must be between 1 and 100
Please enter a phone number using the following format: ###-###-####.
Phone number must be 12 character long
1) Personal Contact
2) Business Contact
3) Exit
1
Name?
Pyari
Age?
32
City?
Bam
State?
OR
Zip?
76000
Phone Number?
123-345-1234
12. Personal Contact: Pyari(32), Cell - 123-345-1234 City - Bam State - OR Zip - 76000
1) Personal Contact
2) Business Contact
3) Exit
2
Name?
Mohan
Age?
23
Business Phone?
123-456-6541
Cell Phone?
654-123-4567
Business Contact: Mohan(23), Business - 123-456-6541 Cell - 654-123-4567
1) Personal Contact
2) Business Contact
3) Exit
3