Showing posts with label If and Else If Statement. Show all posts
Showing posts with label If and Else If Statement. Show all posts

ImageObserver Interface - Loading Image - Java Sample Program

//file: ObserveImageLoad.java

import java.awt.*;
import java.awt.image.*;

public class ObserveImageLoad {
public static void main( String [] args)
{
ImageObserver myObserver = new ImageObserver() {
public boolean imageUpdate( Image image, int flags, int x, int y, int width, int height)
{
if ( (flags & HEIGHT) !=0 )
System.out.println("Image height = " + height );

if ( (flags & WIDTH ) !=0 )
System.out.println("Image width = " + width );

if ( (flags & FRAMEBITS) != 0 )
System.out.println("Another frame finished.");

if ( (flags & SOMEBITS) != 0 )
System.out.println("Image section :" + new Rectangle( x, y, width, height ) );

if ( (flags & ALLBITS) != 0 )
System.out.println("Image finished!");

if ( (flags & ABORT) != 0 )
System.out.println("Image load aborted...");

return true;
}
};

Toolkit toolkit = Toolkit.getDefaultToolkit();
Image img = toolkit.getImage( args[0] );

toolkit.prepareImage( img, -1, -1, myObserver );
}
}

Circle (User Define Classes) - Java Sample Program

public class Circle
{
private double radius;

//Default constructor
//Sets the radius to 0
Circle()
{
radius = 0;
}

//Constructor with a parameter
//Sets the radius to the value specified by the parameter r.
Circle(double r)
{
radius = r;
}

//Method to set the radius of the circle.
//Sets the radius to the value specified by the parameter r.
public void setRadius(double r)
{
radius = r;
}

//Method to return the radius of the circle.
//Returns the radius of the circle.
public double getRadius()
{
return radius;
}

//Method to compute and return the area of the circle.
//Computes and returns the area of the circle.
public double area()
{
return Math.PI * Math.PI * radius;
}

//Method to compute and return the perimeter of the circle.
//Computes and returns the area of the circle.
public double perimeter()
{
return 2 * Math.PI * radius;
}

//Method to return the radius, area, perimeter of the circle
//as a string.
public String toString()
{
return String.format("Radius = %.2f, Perimeter = %.2f"+ ", Area = %.2f%n", radius, perimeter(), area());
}
}


We leave the UML class diagram of the class Circle as an exercise for you.
The following program shows how to use the class Circle in a program.
// Program to test various operations of the class Circle.

import java.util.*; //Line 1
public class TestProgCircle //Line 2
{ //Line 3

static Scanner console = new Scanner(System.in); //Line 4

public static void main(String[] args) //Line 5
{ //Line 6

Circle firstCircle = new Circle(); //Line 7
Circle secondCircle = new Circle(12); //Line 8

double radius; //Line 9

System.out.println("Line 10: firstCircle: " + firstCircle); //Line 10

System.out.println("Line 11: secondCircle: " + secondCircle); //Line 11

System.out.print("Line 12: Enter the radius: "); //Line 12

radius = console.nextDouble(); //Line 13

System.out.println(); //Line 14

firstCircle.setRadius(radius); //Line 15

System.out.println("Line 16: firstCircle: " + firstCircle ); //Line 16

if (firstCircle.getRadius() > secondCircle.getRadius()) //Line 17
System.out.println("Line 18: The radius of "+ "the first circle is greater than "+ "the radius of the second circle. "); //Line 18
else if (firstCircle.getRadius()< secondCircle.getRadius()) //Line 19
System.out.println("Line 20: The radius of "+ "the first circle is less than the " + "radius of the second circle. "); //Line 20
else //Line 21
System.out.println("Line 22: The radius of " + "both the circles are the same."); //Line 22
}//end main //Line 23
} //Line 24

Sample Sample Output:

Line 10: firstCircle: Radius = 0.00, Perimeter = 0.00, Area = 0.00
Line 11: secondCircle: Radius = 12.00, Perimeter = 75.40, Area = 118.44
Line 12: Enter the radius: 10
Line 16: firstCircle: Radius = 10.00, Perimeter = 62.83, Area = 98.70
Line 20: The radius of the first circle is less than the radius of the second circle.

The preceding program works as follows. The statement in Line 7 creates the object
firstCircle and using the default constructor sets the radius to 0. The statement in
Line 8 creates the object secondCircle and sets the radius to 12. The statement in Line
9 declares the double variable radius. The statement in Line 10 outputs the radius, area,
and perimeter of the firstCircle. Similarly, the statement in Line 11 outputs the
radius, area, and perimeter of the secondCircle The statement in Line 12 prompts the
user to enter the value of radius. The statement in Line 13 stores the value entered by
the user in the variable radius. The statement in Line 15 uses the value of radius to set
the radius of firstCircle. The statement in Line 16 outputs the radius, area, and
perimeter of the firstCircle. The statements in Lines 17 to 23 compare the radius of
firstCircle and secondCircle and output the appropriate result.

Clock (User Define Classes) - Java Sample Program

//The definition of the class Clock is:

public class Clock
{
private int hr; //store hours
private int min; //store minutes
private int sec; //store seconds

//Default constructor
//Postcondition: hr = 0; min = 0; sec = 0
public Clock()
{
setTime(0, 0, 0);
}

//Constructor with parameters, to set the time
//The time is set according to the parameters.
//Postcondition: hr = hours; min = minutes;
// sec = seconds
public Clock(int hours, int minutes, int seconds)
{
setTime(hours, minutes, seconds);
}

//Method to set the time
//The time is set according to the parameters.
//Postcondition: hr = hours; min = minutes;
// sec = seconds
public void setTime(int hours, int minutes, int seconds)
{
if (0 <= hours && hours < 24)
hr = hours;
else
hr = 0;

if (0 <= minutes && minutes < 60)
min = minutes;
else
min = 0;

if (0 <= seconds && seconds < 60)
sec = seconds;
else
sec = 0;
}

//Method to return the hours
//Postcondition: the value of hr is returned
public int getHours()
{
return hr;
}

//Method to return the minutes
//Postcondition: the value of min is returned
public int getMinutes()
{
return min;
}

//Method to return the seconds
//Postcondition: the value of sec is returned
public int getSeconds()
{
return sec;
}

//Method to print the time
//Postcondition: Time is printed in the form hh:mm:ss
public void printTime()
{
if (hr < 10)
System.out.print("0");
System.out.print(hr + ":");

if (min < 10)
System.out.print("0");
System.out.print(min + ":");

if (sec < 10)
System.out.print("0");
System.out.print(sec);
}

//Method to increment the time by one second
//Postcondition: The time is incremented by one second
//If the before-increment time is 23:59:59, the time
//is reset to 00:00:00
public void incrementSeconds()
{
sec++;

if (sec > 59)
{
sec = 0;
incrementMinutes(); //increment minutes
}
}

//Method to increment the time by one minute
//Postcondition: The time is incremented by one minute
//If the before-increment time is 23:59:53, the time
//is reset to 00:00:53
public void incrementMinutes()
{
min++;

if (min > 59)
{
min = 0;
incrementHours(); //increment hours
}
}

//Method to increment the time by one hour
//Postcondition: The time is incremented by one hour
//If the before-increment time is 23:45:53, the time
//is reset to 00:45:53
public void incrementHours()
{
hr++;

if (hr > 23)
hr = 0;
}

//Method to compare two times
//Postcondition: Returns true if this time is equal to
// otherClock; otherwise returns false
public boolean equals(Clock otherClock)
{
return (hr == otherClock.hr
&& min == otherClock.min
&& sec == otherClock.sec);
}

//Method to copy time
//Postcondition: The instance variables of otherClock
// copied into the corresponding data
// are members of this time.
// hr = otherClock.hr;
// min = otherClock.min;
// sec = otherClock.sec;
public void makeCopy(Clock otherClock)
{
hr = otherClock.hr;
min = otherClock.min;
sec = otherClock.sec;
}

//Method to return a copy of time
//Postcondition: A copy of the object is created and
// a reference of the copy is returned
public Clock getCopy()
{
Clock temp = new Clock();
temp.hr = hr;
temp.min = min;
temp.sec = sec;
return temp;
}
}


//Program to test various operations of the class Clock
import java.util.*;
public class TestProgClock
{
static Scanner console = new Scanner(System.in);
public static void main(String[] args)
{
Clock myClock = new Clock(5, 4, 30); //Line 1
Clock yourClock = new Clock(); //Line 2

int hours; //Line 3
int minutes; //Line 4
int seconds; //Line 5

System.out.print("Line 6: myClock: "); //Line 6
myClock.printTime(); //Line 7

System.out.println(); //Line 8
System.out.print("Line 9: yourClock: "); //Line 9
yourClock.printTime(); //Line 10

System.out.println(); //Line 11
yourClock.setTime(5, 45, 16); //Line 12

System.out.print("Line 13: After setting "+ "the time - yourClock: "); //Line 13
yourClock.printTime(); //Line 14
System.out.println(); //Line 15

if (myClock.equals(yourClock)) //Line 16
System.out.println("Line 17: Both the " + "times are equal."); //Line 17
else //Line 18
System.out.println("Line 19: The two " + "times are not " + "equal."); //Line 19

System.out.print("Line 20: Enter hours, "+ "minutes, and seconds: "); //Line 20

hours = console.nextInt(); //Line 21
minutes = console.nextInt(); //Line 22
seconds = console.nextInt(); //Line 23
System.out.println(); //Line 24

myClock.setTime(hours, minutes, seconds); //Line 25

System.out.print("Line 26: New time of "+ "myClock: "); //Line 26
myClock.printTime(); //Line 27

System.out.println(); //Line 28
myClock.incrementSeconds(); //Line 29

System.out.print("Line 30: After "+ "incrementing the time by " + "one second, myClock: "); //Line 30

myClock.printTime(); //Line 31
System.out.println(); //Line 32

yourClock.makeCopy(myClock); //Line 33

System.out.print("Line 34: After copying "+ "myClock into yourClock, " + "yourClock: "); //Line 34

yourClock.printTime(); //Line 35

System.out.println(); //Line 36
}//end main
}
Sample Output:

Line 6: myClock: 05:04:30
Line 9: yourClock: 00:00:00
Line 13: After setting the time - yourClock: 05:45:16
Line 19: The two times are not equal.
Line 20: Enter hours, minutes, and seconds: 11 22 59
Line 26: New time of myClock: 11:22:59
Line 30: After incrementing the time by one second, myClock: 11:23:00
Line 34: After copying myClock into yourClock, yourClock: 11:23:00

Flag Controlled Loop - Java While Loop Sample Program

//Flag-controlled while loop.
//Guessing the number game.
//Filename: FlagControlledLoop

import java.util.*;

public class FlagControlledLoop
{
static Scanner console = new Scanner(System.in);
public static void main(String[] args)
{
//declare the variables
int num; //variable to store the random number
int guess; //variable to store the number

//guessed by the user
boolean done; //boolean variable to control the loop

num = (int) (Math.random() * 100); //Line 1
done = false; //Line 2

while (!done) //Line 3
{ //Line 4
System.out.print ("Enter an integer greater" + " than or equal to 0 and " + "less than 100: "); //Line 5
guess = console.nextInt(); //Line 6
System.out.println(); //Line 7

if (guess == num) //Line 8
{ //Line 9
System.out.println("You guessed the " + "correct number."); //Line 10
done = true; //Line 11
} //Line 12
else if (guess < num) //Line 13
System.out.println("Your guess is " + "lower than " + "the number.\n" + "Guess again!"); //Line 14
else //Line 15
System.out.println("Your guess is " + "higher than " + "the number.\n" + "Guess again!"); //Line 16
} //end while //Line 17
} //Line 18
}


Sample Output:
******************************************************************
Enter an integer greater than or equal to 0 and less than 100: 25
Your guess is higher than the number.
Guess again!

Enter an integer greater than or equal to 0 and less than 100: 5
Your guess is lower than the number.
Guess again!

Enter an integer greater than or equal to 0 and less than 100: 10
Your guess is higher than the number.
Guess again!

Enter an integer greater than or equal to 0 and less than 100: 8
Your guess is higher than the number.
Guess again!

Enter an integer greater than or equal to 0 and less than 100: 6
Your guess is lower than the number.
Guess again!

Enter an integer greater than or equal to 0 and less than 100: 7
You guessed the correct number.

 The preceding program works as follows: The statement in Line 1 creates an integer
greater than or equal to 0 and less than 100 and stores this number in the variable num.

 The statement in Line 2 sets the boolean variable done to false. The while loop starts
at Line 3 and ends at Line 17. The expression in the while loop at Line 3 evaluates the
expression !done. If done is false, then !done is true and the body of the while loop
executes; if done is true, then !done is false, so the while loop terminates.

 The statement in Line 5 prompts the user to enter an integer greater than or equal to 0
and less than 100. The statement in Line 6 stores the number entered by the user in the
variable guess. The expression in the if statement in Line 8 determines whether
the value of guess is the same as num , that is, if the user guessed the number correctly.
If the value of guess is the same as num, then the statements in Lines 10 and 11 execute.

The statement in Line 10 outputs the message:
You guessed the correct number.

 The statement in Line 11 sets the variable done to true. The control then goes back to
Line 3. Because done is true, !done is false and the while loop terminates.
If the expression in Line 8 evaluates to false, then the else statement in Line 13
executes. The statement part of this else is an if. . .else statement, starting at Line 13
and ending at Line 16. The if statement in Line 13 determines whether the value of
guess is less than num. In this case, the statement in Line 14 outputs the message:

Your guess is lower than the number.
Guess again!

 If the expression in the if statement in Line 13 evaluates to false, then the statement in
Line 16 executes, which outputs the message:
Your guess is higher than the number.
Guess again!

The program then prompts the user to enter an integer greater than or equal to 0 and less
than 100.

Divisibility Test - Java Sample Program

//Program: Divisibility test by 3 and 9

import java.util.*;
public class DivisibilityTest
{
static Scanner console = new Scanner(System.in);

public static void main (String[] args)
{
int num;
int temp;
int sum;

System.out.print("Enter a positive integer: ");
num = console.nextInt();
System.out.println();
temp = num;
sum = 0;

do
{
sum = sum + num % 10; //extract the last digit
//and add it to sum
num = num / 10; //remove the last digit
}
while (num > 0);

System.out.println("The sum of the digits = " + sum);
if (sum % 3 == 0)
System.out.println(temp + " is divisible by 3");
else
System.out.println(temp + " is not divisible by 3");
if (sum % 9 == 0)
System.out.println(temp + " is divisible by 9");
else
System.out.println(temp + " is not divisible by 9");
}
}

//Sample Output: (In these sample runs, the user input is shaded.)
*****************************************
Sample Run 1:
Enter a positive integer: 27193257
The sum of the digits = 36
27193257 is divisible by 3
27193257 is divisible by 9
*****************************************
Sample Run 2:
Enter a positive integer: 609321
The sum of the digits = 21
609321 is divisible by 3
609321 is not divisible by 9
*****************************************
Sample Run 3:
Enter a positive integer: 161905102
The sum of the digits = 25
161905102 is not divisible by 3
161905102 is not divisible by 9
*****************************************

Number Guessing Game in Java

/* In the lesson we will practise using the basic Java tools learned in previous articles. To do it let's develop the "Guess game". Its rules are as follows:

Computer proposes a number from 1 to 10.
Human player tries to guess it. One enters a guess and computer tells if the number matches or it is smaller/greater than the proposed one.
Game continues, until player guesses the number. */

import java.util.Scanner;

public class NumberGuessingGame {
      public static void main(String[] args) {
            int secretNumber;
            secretNumber = (int) (Math.random() * 10 + 1);
            System.out.println("Secret number is " + secretNumber); // to be removed
            // later
            Scanner keyboard = new Scanner(System.in);
            int guess;
            System.out.print("Enter a guess: ");
            guess = keyboard.nextInt();
            System.out.println("Your guess is " + guess);
            if (guess == secretNumber)
                  System.out.println("Your guess is correct. Congratulations!");
            else if (guess < secretNumber)
                  System.out
                             .println("Your guess is smaller than the secret number.");
            else if (guess > secretNumber)
                  System.out
                             .println("Your guess is greater than the secret number.");
      }
}