0% found this document useful (0 votes)
16 views

java_Assignment- 4th yr

Uploaded by

Abenzer Mulugeta
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

java_Assignment- 4th yr

Uploaded by

Abenzer Mulugeta
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 31

UNIVERSITY OF GONDAR FACULITY OF NATURAL

AND COMPUTATIONAL SCIENCE DEPARTMENT OF


INFORMATION TECHNOLOGY
Group assignment
at the course code ITEC433

Submitted by:
Name IDNO

1. ZEMENU TADELE 2509/02

2. EMEYE MULU 1360/04

3. TIGIST KALAYU 1548/04

4. HERMELA TESHOME 1405/04

5. ERMIAS HAILU 1367/04

Submitted to: Mr. HAGOS


November/2007
1. Write a program to find the biggest of three numbers entered from keyboard?

package assignment1;

import java.util.Scanner;

class LargestOfThreeNumbers

public static void main(String args[])

int x, y, z;

System.out.println("Enter three integers ");

Scanner in = new Scanner(System.in);

x = in.nextInt();

y = in.nextInt();

z = in.nextInt();

if ( x > y && x > z )

System.out.println("First number is largest.");

else if ( y > x && y > z )

System.out.println("Second number is largest.");


else if ( z > x && z > y )

System.out.println("Third number is largest.");

else

System.out.println("Entered numbers are not distinct.");

2. Write a program to draw a set of concentric circles using graphics class?

package assignment.pkg6;

import javax.swing.*;

import java.awt.*;

import java.awt.geom.*;

public class Concentric {

private static final JComponent triangleComponent = new JComponent() {

private static final long serialVersionUID = 1L;

@Override

public void paintComponent(Graphics g) {

Graphics2D g2 = (Graphics2D) g;

g2.draw(new Line2D.Double(180, 100, 100, 0));

g2.draw(new Line2D.Double(20, 100, 100, 0));

g2.draw(new Line2D.Double(180, 100, 20, 100));

};
private static final JComponent ConcentricCircleMaker = new JComponent() {

private static final long serialVersionUID = 1L;

@Override

public void paintComponent(Graphics g) {

Graphics2D g2 = (Graphics2D) g;

double[] circles = {40, 80, 120, 160, 200};

Color[] colors = {Color.red, Color.green, Color.orange, Color.MAGENTA, Color.cyan};

int count = 0;

for (double i : circles) {

g2.setColor(colors[count++]);

g2.draw(Factory.get().makeCircle(200 - i / 2, 200 - i, i));

};

public static void main(String[] args) {

JFrame frame = new JFrame("Drawing");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setBounds(50, 50, 500, 500);

frame.setVisible(true);

frame.setContentPane(triangleComponent);

JOptionPane.showMessageDialog(null, "Click OK to Continue");

frame.setVisible(false);

frame.setContentPane(ConcentricCircleMaker);
frame.setVisible(true);

private static class Factory {

private static final FactorySingle factory;

static {

factory = new FactorySingle();

static FactorySingle get() {

return factory;

private static class FactorySingle {

public Ellipse2D.Double makeCircle(double x, double y, double length) {

return new Ellipse2D.Double(x, y, length, length);

}
3. Write a program to check whether a given number is odd or even?

import java.util.Scanner;

class OddOrEven

public static void main(String args[])

int x;

System.out.println("Enter an integer to check if it is odd or even ");

Scanner in = new Scanner(System.in);

x = in.nextInt();

if ( x % 2 == 0 )

System.out.println("You entered an even number.");

else

System.out.println("You entered an odd number.");

4,write any java program that implements for all access protection of packages

package emu;

class BaseClass {

public int x = 10;

private int y = 10;

protected int z = 10;

int a = 10; //Implicit Default Access Modifier


public int getX() {

return x;

public void setX(int x) {

this.x = x;

private int getY() {

return y;

private void setY(int y) {

this.y = y;

protected int getZ() {

return z;

protected void setZ(int z) {

this.z = z;

int getA() {

return a;

void setA(int a) {

this.a = a;

}
class SubclassInSamePackage extends BaseClass {

public static void main(String args[]) {

BaseClass rr = new BaseClass();

rr.z = 0;

SubclassInSamePackage subClassObj = new SubclassInSamePackage();

//Access Modifiers - Public

System.out.println("Value of x is : " + subClassObj.x);

subClassObj.setX(20);

System.out.println("Value of x is : " + subClassObj.x);

//Access Modifiers - Public

// If we remove the comments it would result in a compilaton

// error as the fields and methods being accessed are private

/* System.out.println("Value of y is : "+subClassObj.y);

subClassObj.setY(20);

System.out.println("Value of y is : "+subClassObj.y);*/

//Access Modifiers - Protected

System.out.println("Value of z is : " + subClassObj.z);

subClassObj.setZ(30);

System.out.println("Value of z is : " + subClassObj.z);

//Access Modifiers - Default

System.out.println("Value of x is : " + subClassObj.a);


subClassObj.setA(20);

System.out.println("Value of x is : " + subClassObj.a);

5. Write a java program that implements interface?

package assignment1;

interface Info {

static final String language = "Java";

public void display();

class Simple implements Info {

public static void main(String []args) {

Simple obj = new Simple();

obj.display();

// Defining method declared in interface

public void display() {

System.out.println(language + " is awesome");

}
6. Write a program for calendar class implementation?

package assignment.pkg6;

import javax.swing.*;

import javax.swing.table.*;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

public class CalendarProgram{

static JLabel lblMonth, lblYear;

static JButton btnPrev, btnNext;

static JTable tblCalendar;

static JComboBox cmbYear;

static JFrame frmMain;

static Container pane;

static DefaultTableModel mtblCalendar; //Table model

static JScrollPane stblCalendar; //The scrollpane

static JPanel pnlCalendar;

static int realYear, realMonth, realDay, currentYear, currentMonth;

public static void main (String args[]){

//Look and feel

try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}

catch (ClassNotFoundException | InstantiationException | IllegalAccessException |


UnsupportedLookAndFeelException e) {}
//Prepare frame

frmMain = new JFrame ("Gestionnaire de clients"); //Create frame

frmMain.setSize(330, 375); //Set size to 400x400 pixels

pane = frmMain.getContentPane(); //Get content pane

pane.setLayout(null); //Apply null layout

frmMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Close when X is clicked

//Create controls

lblMonth = new JLabel ("January");

lblYear = new JLabel ("Change year:");

cmbYear = new JComboBox();

btnPrev = new JButton ("<<");

btnNext = new JButton (">>");

mtblCalendar = new DefaultTableModel(){@Override

public boolean isCellEditable(int rowIndex, int mColIndex){return false;}};

tblCalendar = new JTable(mtblCalendar);

stblCalendar = new JScrollPane(tblCalendar);

pnlCalendar = new JPanel(null);

//Set border

pnlCalendar.setBorder(BorderFactory.createTitledBorder("Calendar"));

//Register action listeners

btnPrev.addActionListener(new btnPrev_Action());

btnNext.addActionListener(new btnNext_Action());

cmbYear.addActionListener(new cmbYear_Action());
//Add controls to pane

pane.add(pnlCalendar);

pnlCalendar.add(lblMonth);

pnlCalendar.add(lblYear);

pnlCalendar.add(cmbYear);

pnlCalendar.add(btnPrev);

pnlCalendar.add(btnNext);

pnlCalendar.add(stblCalendar);

//Set bounds

pnlCalendar.setBounds(0, 0, 320, 335);

lblMonth.setBounds(160-lblMonth.getPreferredSize().width/2, 25, 100, 25);

lblYear.setBounds(10, 305, 80, 20);

cmbYear.setBounds(230, 305, 80, 20);

btnPrev.setBounds(10, 25, 50, 25);

btnNext.setBounds(260, 25, 50, 25);

stblCalendar.setBounds(10, 50, 300, 250);

//Make frame visible

frmMain.setResizable(false);

frmMain.setVisible(true);

//Get real month/year

GregorianCalendar cal = new GregorianCalendar(); //Create calendar

realDay = cal.get(GregorianCalendar.DAY_OF_MONTH); //Get day


realMonth = cal.get(GregorianCalendar.MONTH); //Get month

realYear = cal.get(GregorianCalendar.YEAR); //Get year

currentMonth = realMonth; //Match month and year

currentYear = realYear;

//Add headers

String[] headers = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; //All headers

for (int i=0; i<7; i++){

mtblCalendar.addColumn(headers[i]);

tblCalendar.getParent().setBackground(tblCalendar.getBackground()); //Set background

//No resize/reorder

tblCalendar.getTableHeader().setResizingAllowed(false);

tblCalendar.getTableHeader().setReorderingAllowed(false);

//Single cell selection

tblCalendar.setColumnSelectionAllowed(true);

tblCalendar.setRowSelectionAllowed(true);

tblCalendar.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

//Set row/column count

tblCalendar.setRowHeight(38);

mtblCalendar.setColumnCount(7);

mtblCalendar.setRowCount(6);
//Populate table

for (int i=realYear-100; i<=realYear+100; i++){

cmbYear.addItem(String.valueOf(i));

//Refresh calendar

refreshCalendar (realMonth, realYear); //Refresh calendar

public static void refreshCalendar(int month, int year){

//Variables

String[] months = {"January", "February", "March", "April", "May", "June", "July", "August",
"September", "October", "November", "December"};

int nod, som; //Number Of Days, Start Of Month

//Allow/disallow buttons

btnPrev.setEnabled(true);

btnNext.setEnabled(true);

if (month == 0 && year <= realYear-10){btnPrev.setEnabled(false);} //Too early

if (month == 11 && year >= realYear+100){btnNext.setEnabled(false);} //Too late

lblMonth.setText(months[month]); //Refresh the month label (at the top)

lblMonth.setBounds(160-lblMonth.getPreferredSize().width/2, 25, 180, 25); //Re-align label with


calendar

cmbYear.setSelectedItem(String.valueOf(year)); //Select the correct year in the combo box

//Clear table
for (int i=0; i<6; i++){

for (int j=0; j<7; j++){

mtblCalendar.setValueAt(null, i, j);

//Get first day of month and number of days

GregorianCalendar cal = new GregorianCalendar(year, month, 1);

nod = cal.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);

som = cal.get(GregorianCalendar.DAY_OF_WEEK);

//Draw calendar

for (int i=1; i<=nod; i++){

int row = new Integer((i+som-2)/7);

int column = (i+som-2)%7;

mtblCalendar.setValueAt(i, row, column);

//Apply renderers

tblCalendar.setDefaultRenderer(tblCalendar.getColumnClass(0), new tblCalendarRenderer());

static class tblCalendarRenderer extends DefaultTableCellRenderer{

@Override

public Component getTableCellRendererComponent (JTable table, Object value, boolean selected,


boolean focused, int row, int column){

super.getTableCellRendererComponent(table, value, selected, focused, row, column);


if (column == 0 || column == 6){ //Week-end

setBackground(new Color(255, 220, 220));

else{ //Week

setBackground(new Color(255, 255, 255));

if (value != null){

if (Integer.parseInt(value.toString()) == realDay && currentMonth == realMonth &&


currentYear == realYear){ //Today

setBackground(new Color(220, 220, 255));

setBorder(null);

setForeground(Color.black);

return this;

static class btnPrev_Action implements ActionListener{

@Override

public void actionPerformed (ActionEvent e){

if (currentMonth == 0){ //Back one year

currentMonth = 11;

currentYear -= 1;

else{ //Back one month

currentMonth -= 1;
}

refreshCalendar(currentMonth, currentYear);

static class btnNext_Action implements ActionListener{

@Override

public void actionPerformed (ActionEvent e){

if (currentMonth == 11){ //Foward one year

currentMonth = 0;

currentYear += 1;

else{ //Foward one month

currentMonth += 1;

refreshCalendar(currentMonth, currentYear);

static class cmbYear_Action implements ActionListener{

@Override

public void actionPerformed (ActionEvent e){

if (cmbYear.getSelectedItem() != null){

String b = cmbYear.getSelectedItem().toString();

currentYear = Integer.parseInt(b);

refreshCalendar(currentMonth, currentYear);

}
}

7. Write a program to find the area and perimeter of a circle for a given radius using
buffered reader class?

package assignment1;

//Write a java program to Calculate Circle Perimeter

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class assignment7 {

public static void main(String[] args) throws IOException {

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Enter radius of a circle: ");

int radius = Integer.parseInt(br.readLine());

double perimeter = 2 * Math.PI * radius;

System.out.println("Perimeter of a circle : " + perimeter);

}
8. Write a program to convert Centigrade to Fahrenheit?

package assignment1;

import java.util.Scanner;

public class assignment8{

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

double celsius, fahrenheit;

System.out.print("Enter a temperature in Celsius: ");

celsius = sc.nextDouble();

fahrenheit = 32 + (celsius * 9 / 5);

System.out.println(celsius +" ºC = " + fahrenheit + " ºF");

9. Write a program for dialogues and Menus using swing classes?

Dialogue using swing class

package assignment.pkg6;

import javax.swing.JFrame;

import javax.swing.JTextArea;

import javax.swing.JOptionPane;

import javax.swing.UIManager;

import javax.swing.Icon;

import java.awt.EventQueue;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.lang.reflect.Field;
public class Assignment92 extends JFrame{

private JTextArea tracker;

//Using a standard Java icon

private Icon optionIcon = UIManager.getIcon("FileView.computerIcon");

//Application start point

public static void main(String[] args) {

//Use the event dispatch thread for Swing components

EventQueue.invokeLater(new Runnable()

public void run()

//create GUI frame

new Assignment92().setVisible(true);

});

public Assignment92()

//make sure the program exits when the frame closes


setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setTitle("Dialog Box Example");

setSize(500,300);

//This will center the JFrame in the middle of the screen

setLocationRelativeTo(null);

//Using JTextArea to show clicks and responses

tracker = new JTextArea("Click tracker:");

add(tracker);

setVisible(true);

//Options for the combo box dialog

String[] choices = {"Monday", "Tuesday"

,"Wednesday", "Thursday", "Friday"};

//Options for the list dialog

//There are more than 20 entries to make the showInputDialog method

//choose to use a list box

String[] jumboChoices = {"Abe", "Billy", "Colin", "Dexter"

, "Edward", "Fred", "Gus", "Harry", "Ira", "Jeff"

, "Kirk", "Larry", "Monty", "Nigel", "Orville", "Paul"

, "Quint", "Richard", "Steve", "Tony", "Umberto", "Vinnie"

, "Wade", "Xavier", "Yogi", "Zigmund"};


//Input dialog with a text field

String input = JOptionPane.showInputDialog(this

,"Enter in some text:");

TrackResponse(input);

//Input dialog with default text in the text field

String defaultText = JOptionPane.showInputDialog(this

,"Enter in some text:","some text..");

TrackResponse(defaultText);

//Input dialog with a textfield, a message type and title

String warningText = JOptionPane.showInputDialog(this

,"Erm, enter in a warning:" ,"Warning Message"

,JOptionPane.WARNING_MESSAGE);

TrackResponse(warningText);

//If an icon is used then it overrides the icon from the

//message type. Likewise if a null is entered for the selection values

//the dialog box will use a text field

String entered = (String)JOptionPane.showInputDialog(this

, "Enter a Day of the week:"

, "Text Field Dialog", JOptionPane.QUESTION_MESSAGE

, optionIcon, null, null);


TrackResponse(entered);

//If the String Array has more than 20 entries a JList is used

//as the method the user gets to select a value

String boyNames = (String)JOptionPane.showInputDialog(this, "Pick a Name:"

, "ComboBox Dialog", JOptionPane.QUESTION_MESSAGE

, optionIcon, jumboChoices, jumboChoices[0]);

TrackResponse(boyNames);

//Input dialog with a combo box created by

//using a String array for the object message. Note how

//a null icon for the icon results in the QUESTION_MESSAGE

//message type being used.

String picked = (String)JOptionPane.showInputDialog(this, "Pick a Day:"

, "ComboBox Dialog", JOptionPane.QUESTION_MESSAGE

, null, choices, choices[0]);

TrackResponse(picked);

//Append the picked choice to the tracker JTextArea

public void TrackResponse(String response)

//showInputDialog method returns null if the dialog is exited


//without an option being chosen

if (response == null)

tracker.append("\nYou closed the dialog without any input..");

else

tracker.append("\nYou picked " + response + "..");

Menus using swing class

package assignment.pkg6;

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

public class Menus91 extends JFrame{

JLabel menuLabel = new JLabel ("This is my Menu!");

Menus91() {

//------Setup of simple menu

JMenuBar menuBar = new JMenuBar(); //set up of JMenuBar, this is the final element that
the menu itself will be displayed in, similiar to a container.

ImageIcon exitIcon = new ImageIcon ("close.gif"); //stores our Image for the exit command
of the menu.

ImageIcon hideIcon = new ImageIcon ("hide.gif");

ImageIcon showIcon = new ImageIcon ("show.gif");


JMenu menu = new JMenu("Menu"); //sets up the JMenu

JMenu exitMenu = new JMenu("Label"); //creation of our submenu

menu.setMnemonic(KeyEvent.VK_M); //allows our menu to be accessed when we click


ALT + M, you can do this for individual menu items aswell.

JMenuItem exitItem = new JMenuItem ("Exit Program", exitIcon);//create our first


command (menu item)

JMenuItem hidelblItem = new JMenuItem ("Hide Label", hideIcon);

JMenuItem showlblItem = new JMenuItem("Show Label", showIcon);

menu.add(exitItem); //add the command (menu item) to our menu

exitMenu.add(hidelblItem); //add our JMenuItem's to our submenu --

exitMenu.add(showlblItem); //--

menu.addSeparator(); //visual element that seemingly splits our two menu's, you can
comment this out, it just makes the program look nicer :)/>

menu.add(exitMenu); //Add our submenu to our original menu.

menuBar.add(menu); //add the JMenu to the JMenuBar

setJMenuBar(menuBar); //set the default JMenuBar of the Swing application

//------Setup of JFrame

// FlowLayout layout = new FlowLayout();

setSize(650,450); //set the size of the application (350 pixels width, 175 pixels high)

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //set what occurs when the "X"


button at the top right of the application is clicked

setTitle("Menu in Java"); //set the title of our Swing application

menuLabel.setText("This is my Menu Comment!");

// setLayout(layout);

add(menuLabel); //adds the label to our form using the defaul FlowLayout.

setVisible(true); //set the graphical elements of our Swing application to visible, so they can
be seen.

exitItem.addActionListener(new ActionListener() { //adds an ActionListener interface for our


exitItem
public void actionPerformed(ActionEvent e) {

System.exit(0); //exit our application

});

//--Add actionListeners for our submenu items and the functionality code:

showlblItem.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

menuLabel.setVisible(true); //hide our menuLabel

});

hidelblItem.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

menuLabel.setVisible(false); //show our menuLabel

});

} //end of class

public static void main(String[] args) {

new Menus91();

10. Write a java program that implements multithreading concepts?

package assignment.pkg6;

class RunnableDemo implements Runnable {

private Thread t;

private final String threadName;


RunnableDemo( String name){

threadName = name;

System.out.println("Creating " + threadName );

@Override

public void run() {

System.out.println("Running " + threadName );

try {

for(int i = 4; i > 0; i--) {

System.out.println("Thread: " + threadName + ", " + i);

// Let the thread sleep for a while.

Thread.sleep(50);

} catch (InterruptedException e) {

System.out.println("Thread " + threadName + " interrupted.");

System.out.println("Thread " + threadName + " exiting.");

public void start ()

System.out.println("Starting " + threadName );

if (t == null)

t = new Thread (this, threadName);


t.start ();

public class Assignment10 {

public static void main(String args[]) {

RunnableDemo R1 = new RunnableDemo( "Thread-1");

R1.start();

RunnableDemo R2 = new RunnableDemo( "Thread-2");

R2.start();

11. Write a java program to implement inheritance of classes?

animal.java

package assignment11;

public class Animal {

public Animal() {

System.out.println("A new animal has been created!");

public void sleep() {


System.out.println("An animal sleeps...");

public void eat() {

System.out.println("An animal eats...");

Bird.java

import assignment11.Animal;

public class Bird extends Animal {

public Bird() {

super();

System.out.println("A new bird has been created!");

@Override

public void sleep() {

System.out.println("A bird sleeps...");

@Override

public void eat() {

System.out.println("A bird eats...");

}
}

Dod.java

package assignment11;

public class Dog extends Animal {

public Dog() {

super();

System.out.println("A new dog has been created!");

@Override

public void sleep() {

System.out.println("A dog sleeps...");

@Override

public void eat() {

System.out.println("A dog eats...");

MainClass.java

package assignment11;

public class MainClass {

public static void main(String[] args) {

Animal animal = new Animal();


Bird bird;

bird = new Bird();

Dog dog = new Dog();

System.out.println();

animal.sleep();

animal.eat();

bird.sleep();

bird.eat();

dog.sleep();

dog.eat();

You might also like