package mysorting;
import java.util.Comparator;
public class ComparePersonByName implements Comparator
{
@Override
public int compare(Object p1, Object p2) {
Person person1 = (Person)p1;
Person person2 = (Person)p2;
String s1 = person1.getName();
String s2 = person2.getName();
return s1.compareTo(s2);
}
}
package mysorting;
import java.util.Comparator;
public class ComparePersonByAge implements Comparator
{
@Override
public int compare(Object p1, Object p2) {
Person person1 = (Person)p1;
Person person2 = (Person)p2;
Integer age1 = person1.getAge();
Integer age2 = person2.getAge();
return age1.compareTo(age2);
}
}
package mysorting;
import java.util.Comparator;
import java.lang.reflect.*;
public class ComparePersonByNameDescending implements Comparator
{
@Override
public int compare(Object p1, Object p2) {
Person person1 = (Person)p1;
Person person2 = (Person)p2;
String s1 = person1.getName();
String s2 = person2.getName();
return - s1.compareTo(s2);
}
}
package mysorting;
public class Person implements Comparable
{
// fields
private String name; // the person's name
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
private int maximumBooks;
// constructor
public Person(String n)
{
name = n;
maximumBooks = 3;
}
public Person(String n, int a)
{
name = n;
age = a;
maximumBooks = 3;
}
// getters and setters
public String getName()
{
return name;
}
public void setName(String n)
{
name = n;
}
public int getMaximumBooks() {
return maximumBooks;
}
public void setMaximumBooks(int maxBooks) {
maximumBooks = maxBooks;
}
public String toString()
{
return getName() + " (" + getMaximumBooks() + " books)";
}
@Override
public int compareTo(Object arg0) {
Person p1 = (Person)arg0;
if (name.compareTo(p1.getName()) == 0 )
return 0;
else if (name.compareTo(p1.getName()) < 0)
return -1;
else if (name.compareTo(p1.getName()) > 0)
return +1;
return 0;
}
}
package mysorting;
import java.util.Comparator;
public class Sorting
{
public static void BubbleSort(Person a[], Comparator c)
{
for (int i = 0; i < a.length - 1; i++)
{
for (int j = 0; j < a.length - i - 1; j++)
{
if (c.compare(a[j], a[j+1]) > 0)
{
Person temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
} // end if
} // end for j
} // end for i
} // end method Bubblesort
public static void main(String args[])
{
Person a[] = new Person[4];
a[0] = new Person("mary", 12);
a[1] = new Person("jeremy", 10);
a[2] = new Person("susan", 15);
a[3] = new Person("josh", 20);
Sorting.BubbleSort(a, new ComparePersonByNameDescending());
for (Person x : a)
System.out.println(x);
System.out.println("");
Sorting.BubbleSort(a, new ComparePersonByAge());
for (Person x : a)
System.out.println(x);
}
}
Thursday, July 29, 2010
how can you use delegates in Java, not using inner classes?
we can use Reflection:
http://www.javacamp.org/javavscsharp/delegate.html
we can use Reflection:
http://www.javacamp.org/javavscsharp/delegate.html
package mysorting;
public class Person implements Comparable
{
// fields
private String name; // the person's name
private int maximumBooks;
// constructor
public Person(String n)
{
name = n;
maximumBooks = 3;
}
// getters and setters
public String getName()
{
return name;
}
public void setName(String n)
{
name = n;
}
public int getMaximumBooks() {
return maximumBooks;
}
public void setMaximumBooks(int maxBooks) {
maximumBooks = maxBooks;
}
public String toString()
{
return getName() + " (" + getMaximumBooks() + " books)";
}
@Override
public int compareTo(Object arg0) {
Person p1 = (Person)arg0;
if (name.compareTo(p1.getName()) == 0 )
return 0;
else if (name.compareTo(p1.getName()) < 0)
return -1;
else if (name.compareTo(p1.getName()) > 0)
return +1;
return 0;
}
}
public class Person implements Comparable
{
// fields
private String name; // the person's name
private int maximumBooks;
// constructor
public Person(String n)
{
name = n;
maximumBooks = 3;
}
// getters and setters
public String getName()
{
return name;
}
public void setName(String n)
{
name = n;
}
public int getMaximumBooks() {
return maximumBooks;
}
public void setMaximumBooks(int maxBooks) {
maximumBooks = maxBooks;
}
public String toString()
{
return getName() + " (" + getMaximumBooks() + " books)";
}
@Override
public int compareTo(Object arg0) {
Person p1 = (Person)arg0;
if (name.compareTo(p1.getName()) == 0 )
return 0;
else if (name.compareTo(p1.getName()) < 0)
return -1;
else if (name.compareTo(p1.getName()) > 0)
return +1;
return 0;
}
}
package mysorting;
public class Sorting
{
public static void BubbleSort(Person a[])
{
for (int i = 0; i < a.length - 1; i++)
{
for (int j = 0; j < a.length - i - 1; j++)
{
if (a[j].compareTo(a[j+1]) > 0)
{
Person temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
} // end if
} // end for j
} // end for i
} // end method Bubblesort
public static void main(String args[])
{
Person a[] = new Person[4];
a[0] = new Person("mary");
a[1] = new Person("jeremy");
a[2] = new Person("susan");
a[3] = new Person("josh");
Sorting.BubbleSort(a);
for (Person x : a)
System.out.println(x);
}
}
public class Sorting
{
public static void BubbleSort(Person a[])
{
for (int i = 0; i < a.length - 1; i++)
{
for (int j = 0; j < a.length - i - 1; j++)
{
if (a[j].compareTo(a[j+1]) > 0)
{
Person temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
} // end if
} // end for j
} // end for i
} // end method Bubblesort
public static void main(String args[])
{
Person a[] = new Person[4];
a[0] = new Person("mary");
a[1] = new Person("jeremy");
a[2] = new Person("susan");
a[3] = new Person("josh");
Sorting.BubbleSort(a);
for (Person x : a)
System.out.println(x);
}
}
Tuesday, July 27, 2010
package mysorting;
public class Sorting
{
public static void BubbleSort(int a[])
{
for (int i = 0; i < a.length - 1; i++)
{
for (int j = 0; j < a.length - i - 1; j++)
{
if (a[j] > a[j+1])
{
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
} // end if
} // end for j
} // end for i
} // end method Bubblesort
public static void main(String args[])
{
int a[] = new int [4];
a[0] = 5;
a[1] = 2;
a[2] = 9;
a[3] = 1;
Sorting.BubbleSort(a);
for (Integer x : a)
System.out.println(x);
}
}
public class Sorting
{
public static void BubbleSort(int a[])
{
for (int i = 0; i < a.length - 1; i++)
{
for (int j = 0; j < a.length - i - 1; j++)
{
if (a[j] > a[j+1])
{
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
} // end if
} // end for j
} // end for i
} // end method Bubblesort
public static void main(String args[])
{
int a[] = new int [4];
a[0] = 5;
a[1] = 2;
a[2] = 9;
a[3] = 1;
Sorting.BubbleSort(a);
for (Integer x : a)
System.out.println(x);
}
}
Thursday, July 22, 2010
package myexceptions;
public class ExceptionExample1 {
public static void printf(String arg0) throws MyException
{
if (arg0 == null || arg0.length() < 5)
throw new MyException("string too short");
System.out.println(arg0);
}
public static void main(String[] args) throws MyException
{
printf("hi");
try
{
printf("hello world");
printf("hi");
if (true)
{
throw new MyException("silly error");
}
System.out.println("Hello");
}
catch (MyException e)
{
System.out.println(e.errmessage);
}
catch (IndexOutOfBoundsException e)
{
}
catch (Exception e)
{
}
System.out.println("And then we come here");
}
}
class MyException extends Exception
{
String errmessage;
public MyException(String errmess)
{
errmessage = errmess;
}
}
public class ExceptionExample1 {
public static void printf(String arg0) throws MyException
{
if (arg0 == null || arg0.length() < 5)
throw new MyException("string too short");
System.out.println(arg0);
}
public static void main(String[] args) throws MyException
{
printf("hi");
try
{
printf("hello world");
printf("hi");
if (true)
{
throw new MyException("silly error");
}
System.out.println("Hello");
}
catch (MyException e)
{
System.out.println(e.errmessage);
}
catch (IndexOutOfBoundsException e)
{
}
catch (Exception e)
{
}
System.out.println("And then we come here");
}
}
class MyException extends Exception
{
String errmessage;
public MyException(String errmess)
{
errmessage = errmess;
}
}
package rmiExample;
import java.rmi.Naming;
public class RmiServer {
/**
* Server program for the "Hello, world!" example.
* @param argv The command line arguments which are ignored.
*/
public static void main (String[] argv) {
try {
Naming.rebind ("Hello", new Hello ("Hello, world!"));
System.out.println ("Hello Server is ready.");
} catch (Exception e) {
System.out.println ("Hello Server failed: " + e);
}
}
}
import java.rmi.Naming;
public class RmiServer {
/**
* Server program for the "Hello, world!" example.
* @param argv The command line arguments which are ignored.
*/
public static void main (String[] argv) {
try {
Naming.rebind ("Hello", new Hello ("Hello, world!"));
System.out.println ("Hello Server is ready.");
} catch (Exception e) {
System.out.println ("Hello Server failed: " + e);
}
}
}
Subscribe to:
Posts (Atom)