Wednesday, July 27, 2011

Assignment - Week 4

Create an object oriented hierarchy & solution to this analysis problem of three entities

- TV Remote
- VCD Remote
- Satellite Remote

Functionalities,
- Volume / Mute
- Program / Channels / Tuning
- Play / Stop / Resume / Pause / Record

Required (Minimum two from each point) concepts in solution.
- Inheritance / Abstraction / Polymorphism
- Interface / Abstract / Inner Class / Anonymous Class

Objective: Solution is not important but design of this solution is much more important in this. A simple diagram or code skeleton would be good enough as a solution to this assignment.

Second Interface


package com.evs.objava33.class8;

public interface SecondInterface {
public long secndTime();
}

First Interface


package com.evs.objava33.class8;

public interface FirstInterface extends SecondInterface {
public long time();
public long secndTime();
}

Palm Tree


package com.evs.objava33.class7;

import com.evs.objava33.class8.FirstInterface;

public class PalmTree extends Tree {
private int age;
private String breed;

private PalmTree(int age) {
super("DateTree");
this.age = age;
}

public PalmTree(int age, String breed) {
this(age);
this.breed = breed;
}

public String toString() {
return "PalmTree [age=" + age + ", breed=" + breed + "]";
}

public static void main(String[] args) {
PalmTree tree1 = new PalmTree(10, "Small");
DateTree tree2 = new DateTree(40, "tall");

// System.out.println(tree1);
// System.out.println(tree2);

Tree tree3 = new PalmTree(30, "Short");
System.out.println(tree3.getType());
Tree t5 = new PalmTree(23, "Dummy");
PalmTree t4 = (PalmTree) tree3;
// if (t5 instanceof PalmTree) {
if (t5.getClass() == PalmTree.class) {
t4 = (PalmTree) t5;
}

Tree[] trees = { tree1, tree2, tree3, t4, t5 };
FirstInterface[] ints = { tree1, tree2 };

for (FirstInterface t : ints) {
System.out.println(t.secndTime());
}

FirstInterface in = new FirstInterface() {
public long time() {
return 0;
}

public long secndTime() {
return 0;
}
};
System.out.println(in);
InnerFirstInterface ifi = tree1.new InnerFirstInterface();
System.out.println(ifi);
AnotherClass ac = new AnotherClass();

// Scope = Public, Private, Protected, Default
// Access = Default, Static

// Class Variable Method Constructor
// Public Y Y Y Y
// Private Y Y Y Y
// Protected Y Y Y Y
// Default Y Y Y Y

}

private interface AnotherInterface {
public void testing();
}

static class AnotherClass {
public int testing;
}

private class InnerFirstInterface implements FirstInterface {
public long time() {
return 0;
}

public long secndTime() {
return 0;
}
}

public long time() {
return System.currentTimeMillis();
}

public long secndTime() {
return time();
}
}

Date Tree


package com.evs.objava33.class7;


public class DateTree extends Tree {

private int age;
private String breed;

public DateTree(int age) {
super("DateTree");
this.age = age;
}

public DateTree(int age, String breed) {
this(age);
this.breed = breed;
}

public String toString() {
return "DateTree [age=" + age + ", breed=" + breed + "]";
}

public long time() {
return 10;
}

public long secndTime() {
return time();
}
}

Tree


package com.evs.objava33.class7;

import com.evs.objava33.class8.FirstInterface;

public abstract class Tree implements FirstInterface {
String type;

public Tree() {
type = "Unknown";
}

public Tree(String type) {
this.type = type;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}

public String toString() {
return "Tree [type=" + type + "]";
}

public abstract long secndTime();
}

Saturday, July 16, 2011

Monday, July 11, 2011

Assignment - Week 3

1. Create a paragraph of more than 300 words including punctuations. You need to extract following from this paragraph,

- Puntuation
- Fillers
- Vowels

Note: You can also print these punctuations, their offset, and count of any punctuation.

2. Find point of intersection in a right rectangle (Note: right rectangle is one which do have all angles @ 90 degree).

Rectangle

package com.evs.objava33.class6;

public class Rectangle {

Line width, height;

public Rectangle(final Point start1, final Point start2, final Point end1,
final Point end2) {
width = new Line(start1, end1);
height = new Line(start2, end2);
}

public Rectangle(final Line width, final Line height) {
this.width = width;
this.height = height;
}

public Rectangle(final Rectangle rec) {
this.width = rec.width;
this.height = rec.height;
}

public double area() {
return width.length() * height.length();
}

}

Point

package com.evs.objava33.class6;

public class Point {

double x;
double y;

Point(double x, double y) {
this.x = x;
this.y = y;
}

// return_type method_name ( parameter_list ) ;
double getX() {
return x;
}

void setX(double x) {
this.x = x;
}

double getY() {
return y;
}

void setY(double y) {
this.y = y;
}

public double distance(Point p1, Point p2) {
return Math.sqrt((p2.getY() - p1.getY()) * (p2.getY() - p1.getY())
+ (p2.getX() - p1.getX()) * (p2.getX() - p1.getX()));
}

public double distance(Point p) {
return distance(this, p);
}

public String toString() {
return "Point [x=" + x + ", y=" + y + "]";
}

public static void main(String[] args) {
Point point = new Point(3, 4);
System.out.println(point);
}
}

Line

package com.evs.objava33.class6;

public class Line {

// double x1, y1, x2, y2;
Point start, end;

public Line(double x1, double y1, double x2, double y2) {
start = new Point(x1, y1);
end = new Point(x2, y2);
}

public Line(final Point start, final Point end) {
this.start = start;
this.end = end;
}

public Line(final Line line) {
this.start = line.start;
// this.start = new Point(line.start.getX(), line.start.getY());
this.end = line.end;
}

public double length() {
return start.distance(end);
}

public String toString() {
return "Line [start=" + start + ", end=" + end + "]";
}

}

Resursion

package com.evs.objava33.class5;

public class PowerCalc {

public static void main(String[] args) {
double x = 5.0;
System.out.println(x + " to the power 4 is" + power(x, 4));
System.out.println(" 7.5 to the power 5 is " + power(7.5, 4));
System.out.println(" 7.5 to the power 0 is " + power(7.5, 0));
System.out.println(" 10 to the power -2 is " + power(10, -2));
}

public static double power(double x, int y) {
if (y > 1) {
return x * power(x, y - 1);
} else if (y < 0) {
return 1.0 / power(x, -y);
} else {
return y == 0 ? 1.0 : x;
}
}
}

String

The String class represents character strings. All string literals in Java programs, such as "abc", are implemented as instances of this class.
Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings. Because String objects are immutable they can be shared. For example:

String str = "abc";
 
is equivalent to:

char data[] = {'a', 'b', 'c'};
     String str = new String(data);
 
Here are some more examples of how strings can be used:

System.out.println("abc");
     String cde = "cde";
     System.out.println("abc" + cde);
     String c = "abc".substring(2,3);
     String d = cde.substring(1, 2);
 
The class String includes methods for examining individual characters of the sequence, for comparing strings, for searching strings, for extracting substrings, and for creating a copy of a string with all characters translated to uppercase or to lowercase. Case mapping is based on the Unicode Standard version specified by the Character class.
The Java language provides special support for the string concatenation operator ( + ), and for conversion of other objects to strings. String concatenation is implemented through the StringBuilder(or StringBuffer) class and its append method. String conversions are implemented through the method toString, defined by Object and inherited by all classes in Java. For additional information on string concatenation and conversion, see Gosling, Joy, and Steele, The Java Language Specification.
Unless otherwise noted, passing a null argument to a constructor or method in this class will cause a NullPointerException to be thrown.
String represents a string in the UTF-16 format in which supplementary characters are represented by surrogate pairs (see the section Unicode Character Representations in the Character class for more information). Index values refer to char code units, so a supplementary character uses two positions in a String.
The String class provides methods for dealing with Unicode code points (i.e., characters), in addition to those for dealing with Unicode code units (i.e., char values).



Constructor Summary
String()
          Initializes a newly created String object so that it represents an empty character sequence.
String(byte[] bytes)
          Constructs a new String by decoding the specified array of bytes using the platform's default charset.
String(byte[] bytes, Charset charset)
          Constructs a new String by decoding the specified array of bytes using the specified charset.
String(byte[] ascii, int hibyte)
          Deprecated. This method does not properly convert bytes into characters. As of JDK 1.1, the preferred way to do this is via the String constructors that take a Charset, charset name, or that use the platform's default charset.
String(byte[] bytes, int offset, int length)
          Constructs a new String by decoding the specified subarray of bytes using the platform's default charset.
String(byte[] bytes, int offset, int length, Charset charset)
          Constructs a new String by decoding the specified subarray of bytes using the specified charset.
String(byte[] ascii, int hibyte, int offset, int count)
          Deprecated. This method does not properly convert bytes into characters. As of JDK 1.1, the preferred way to do this is via the String constructors that take a Charset, charset name, or that use the platform's default charset.
String(byte[] bytes, int offset, int length, String charsetName)
          Constructs a new String by decoding the specified subarray of bytes using the specified charset.
String(byte[] bytes, String charsetName)
          Constructs a new String by decoding the specified array of bytes using the specified charset.
String(char[] value)
          Allocates a new String so that it represents the sequence of characters currently contained in the character array argument.
String(char[] value, int offset, int count)
          Allocates a new String that contains characters from a subarray of the character array argument.
String(int[] codePoints, int offset, int count)
          Allocates a new String that contains characters from a subarray of the Unicode code point array argument.
String(String original)
          Initializes a newly created String object so that it represents the same sequence of characters as the argument; in other words, the newly created string is a copy of the argument string.
String(StringBuffer buffer)
          Allocates a new string that contains the sequence of characters currently contained in the string buffer argument.
String(StringBuilder builder)
          Allocates a new string that contains the sequence of characters currently contained in the string builder argument.
 
Method Summary
 charcharAt(int index)
          Returns the char value at the specified index.
 intcodePointAt(int index)
          Returns the character (Unicode code point) at the specified index.
 intcodePointBefore(int index)
          Returns the character (Unicode code point) before the specified index.
 intcodePointCount(int beginIndex, int endIndex)
          Returns the number of Unicode code points in the specified text range of this String.
 intcompareTo(String anotherString)
          Compares two strings lexicographically.
 intcompareToIgnoreCase(String str)
          Compares two strings lexicographically, ignoring case differences.
 Stringconcat(String str)
          Concatenates the specified string to the end of this string.
 booleancontains(CharSequence s)
          Returns true if and only if this string contains the specified sequence of char values.
 booleancontentEquals(CharSequence cs)
          Compares this string to the specified CharSequence.
 booleancontentEquals(StringBuffer sb)
          Compares this string to the specified StringBuffer.
static StringcopyValueOf(char[] data)
          Returns a String that represents the character sequence in the array specified.
static StringcopyValueOf(char[] data, int offset, int count)
          Returns a String that represents the character sequence in the array specified.
 booleanendsWith(String suffix)
          Tests if this string ends with the specified suffix.
 booleanequals(Object anObject)
          Compares this string to the specified object.
 booleanequalsIgnoreCase(String anotherString)
          Compares this String to another String, ignoring case considerations.
static Stringformat(Locale l, String format, Object... args)
          Returns a formatted string using the specified locale, format string, and arguments.
static Stringformat(String format, Object... args)
          Returns a formatted string using the specified format string and arguments.
 byte[]getBytes()
          Encodes this String into a sequence of bytes using the platform's default charset, storing the result into a new byte array.
 byte[]getBytes(Charset charset)
          Encodes this String into a sequence of bytes using the given charset, storing the result into a new byte array.
 voidgetBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
          Deprecated. This method does not properly convert characters into bytes. As of JDK 1.1, the preferred way to do this is via the getBytes() method, which uses the platform's default charset.
 byte[]getBytes(String charsetName)
          Encodes this String into a sequence of bytes using the named charset, storing the result into a new byte array.
 voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
          Copies characters from this string into the destination character array.
 inthashCode()
          Returns a hash code for this string.
 intindexOf(int ch)
          Returns the index within this string of the first occurrence of the specified character.
 intindexOf(int ch, int fromIndex)
          Returns the index within this string of the first occurrence of the specified character, starting the search at the specified index.
 intindexOf(String str)
          Returns the index within this string of the first occurrence of the specified substring.
 intindexOf(String str, int fromIndex)
          Returns the index within this string of the first occurrence of the specified substring, starting at the specified index.
 Stringintern()
          Returns a canonical representation for the string object.
 booleanisEmpty()
          Returns true if, and only if, length() is 0.
 intlastIndexOf(int ch)
          Returns the index within this string of the last occurrence of the specified character.
 intlastIndexOf(int ch, int fromIndex)
          Returns the index within this string of the last occurrence of the specified character, searching backward starting at the specified index.
 intlastIndexOf(String str)
          Returns the index within this string of the rightmost occurrence of the specified substring.
 intlastIndexOf(String str, int fromIndex)
          Returns the index within this string of the last occurrence of the specified substring, searching backward starting at the specified index.
 intlength()
          Returns the length of this string.
 booleanmatches(String regex)
          Tells whether or not this string matches the given regular expression.
 intoffsetByCodePoints(int index, int codePointOffset)
          Returns the index within this String that is offset from the given index by codePointOffset code points.
 booleanregionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
          Tests if two string regions are equal.
 booleanregionMatches(int toffset, String other, int ooffset, int len)
          Tests if two string regions are equal.
 Stringreplace(char oldChar, char newChar)
          Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.
 Stringreplace(CharSequence target, CharSequence replacement)
          Replaces each substring of this string that matches the literal target sequence with the specified literal replacement sequence.
 StringreplaceAll(String regex, String replacement)
          Replaces each substring of this string that matches the given regular expression with the given replacement.
 StringreplaceFirst(String regex, String replacement)
          Replaces the first substring of this string that matches the given regular expression with the given replacement.
 String[]split(String regex)
          Splits this string around matches of the given regular expression.
 String[]split(String regex, int limit)
          Splits this string around matches of the given regular expression.
 booleanstartsWith(String prefix)
          Tests if this string starts with the specified prefix.
 booleanstartsWith(String prefix, int toffset)
          Tests if the substring of this string beginning at the specified index starts with the specified prefix.
 CharSequencesubSequence(int beginIndex, int endIndex)
          Returns a new character sequence that is a subsequence of this sequence.
 Stringsubstring(int beginIndex)
          Returns a new string that is a substring of this string.
 Stringsubstring(int beginIndex, int endIndex)
          Returns a new string that is a substring of this string.
 char[]toCharArray()
          Converts this string to a new character array.
 StringtoLowerCase()
          Converts all of the characters in this String to lower case using the rules of the default locale.
 StringtoLowerCase(Locale locale)
          Converts all of the characters in this String to lower case using the rules of the given Locale.
 StringtoString()
          This object (which is already a string!) is itself returned.
 StringtoUpperCase()
          Converts all of the characters in this String to upper case using the rules of the default locale.
 StringtoUpperCase(Locale locale)
          Converts all of the characters in this String to upper case using the rules of the given Locale.
 Stringtrim()
          Returns a copy of the string, with leading and trailing whitespace omitted.
static StringvalueOf(boolean b)
          Returns the string representation of the boolean argument.
static StringvalueOf(char c)
          Returns the string representation of the char argument.
static StringvalueOf(char[] data)
          Returns the string representation of the char array argument.
static StringvalueOf(char[] data, int offset, int count)
          Returns the string representation of a specific subarray of the char array argument.
static StringvalueOf(double d)
          Returns the string representation of the double argument.
static StringvalueOf(float f)
          Returns the string representation of the float argument.
static StringvalueOf(int i)
          Returns the string representation of the int argument.
static StringvalueOf(long l)
          Returns the string representation of the long argument.
static StringvalueOf(Object obj)
          Returns the string representation of the Object argument.

Test String

package com.evs.objava33.class5;

public class TestString {

public static void main(String[] args) {
String name = "Shahzad";
String name1 = new String("Shahzad");
String name2 = new String();
name2 = "Shahzad";

if (name == name2) {
System.out.println("Equal");
}

if ( name.equals(name1)) {

}
}
}

Tuesday, July 5, 2011

Assignment - Week 2

1. Create a program, which can be used to determine if a number is prime number or not.

2.a Create a program for Fibonacci value finding for any number
2.b Create a program for Factorial value finding for any number. 

3. Create a program using a character array to make it reverse in such a way that 
char[] input = {'t','h','e',' ','q','u','i','c','k',' ','b','r','o','w','n',' ','f','o','x',' ','j','u','m','p','s',' ','o','v','e','r',' ','t','h','e',' ','l','a','z','y',' ','d','o','g'}
char[] output={'e','h','t',' ','k','c','i','u','q',' ','n','w','o','r','b',' ','x','o','f',' ','s','p','m','u','j',' ','r','e','v','o',' ','e','h','t',' ','y','z','a','l',' ','g','o','d'};
Note: for assignment #3, you can only use character array & loops.

Arrays


package com.evs.objava33.class4;

import java.util.Arrays;

public class TestArray {

public static void main(String[] args) {
// int a, b, c, d, e, f, g, h, i, j;

// 1.
int[] primes; // declare
primes = new int[10]; // initialize
primes[0] = 10; // assign

// 2.
int[] prim1 = new int[5]; // declare + initialize
prim1[0] = 10;

for (int i = 0; i < prim1.length; i++) {
prim1[i] = 10;
}
Arrays.fill(prim1, 10);

// 3.
int[] prim = { 2, 3, 5, 7, 11, 13, 17 };
prim = new int[] { 2, 3, 5, 7 };

int val = 0;
for (int i = 0; i < prim.length; i++) {
val = prim[i];
System.out.println(val);
}

// for each
for (int value : prim) {
System.out.println(value);
}

float[][] temp;
temp = new float[10][20];
temp = new float[10][];

for (int i = 0; i < temp.length; i++) {
temp[i] = new float[i * 2 + 1];
}

for (float[] f : temp) {
for (float f1 : f) {
System.out.println(f1);
}
}

temp = new float[][] { { 1, 3 }, { 2, 8, 9, 6, 5 }, { 2, 3, 4, 5 } };

}
}

Letter Check


package com.evs.objava33.class3;

import static java.lang.Character.isLowerCase;
import static java.lang.Character.isUpperCase;
import sun.java2d.pipe.LoopPipe;

import com.sun.org.apache.bcel.internal.generic.GOTO;

public class LetterCheck {

/**
*
* @param args
*/
public static void main(String[] args) {
char symbol = 'A';
if (isUpperCase(symbol)) {
System.out.println("This is capital letter");
} else if (isLowerCase(symbol)) {
System.out.println("This is small letter");
}

// if ( boolean expression ) {
// statement(s) ;
// }
// else if ( boolean expression ) {
// }

int i = 0, j = 0;
if (i > 1) {
j = i + 1;
} else {
j = 1;
}
j = (i > 1) ? i + 1 : 1;
j = (i > 1) ? ((i > 2) ? i + 2 : 2) : 1;

// i =1, j=1
// i =2, j=4,
// i=3, j=8
System.out.println(i == 1 ? j + 1 : i == 2 ? i + 4 : 8);

if (i == 0) {
System.out.println("Zero");
} else if (i == 1) {
System.out.println("One");
} else if (i == 2) {
System.out.println("Two");
} else {
System.out.println("unknown");
}

System.out.println(i == 0 ? "Zero" : i == 1 ? "One" : i == 2 ? "Two"
: "Unknown");

switch (i) {
case 0:
System.out.println("Zero");
break;
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
default:
break;
}

// // 1. while
// int a = 0; // initialization
// while (a < 10) { // expression / condition
// System.out.println(a); // Statement
// a = a + 1; // increment / iteration operation
// }
//
// // 2. do while
// int b = 0; // init
// do {
// System.out.println(b);// statement
// b++;// increment
// } while (b < 10); // condition / expression
//
// // 3. for
// // for ( initialization ; condition ; increment )
// for (int c = 0, d = 0; c < 10 && d < 10; c++, d++) {
// System.out.println(c);
// }
//

// // 4. For each

loop1: for (int a = 0; a < 3; a++) {
loop2: for (int b = 0; b < 5; b++) {
loop3: for (int c = b; c < 2; c++) {
if (a == c) {
continue loop1;
}
if (a == b) {
break loop1;
}
System.out.println(a + ":" + b + ":" + c);
}
}
}
}
}