JAVA

星期二, 六月 13, 2006

"Lab Hanoi Tower"

package s9325116;


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class recursion {
public static void main(String[] args)throws IOException
{ BufferedReader keyboard=new BufferedReader(new InputStreamReader(System.in));
int b=Integer.parseInt(keyboard.readLine());
recursive(b,1,2,3);

}

public static void recursive(int n, int src, int aux, int dst)//(幾個盤子,起點,輔助,終點)
{
if(n==1)
System.out.println("Move 1 from "+src+" to "+ dst);
else
{
recursive(n-1,src, dst, aux);
System.out.println("Move "+n+" from "+src+" to "+dst);
recursive(n-1,aux,src,dst);
}
}
}


---------------------------------------------------------------------------------------------

執行結果

3
Move 1 from 1 to 3
Move 2 from 1 to 2
Move 1 from 3 to 2
Move 3 from 1 to 3
Move 1 from 2 to 1
Move 2 from 2 to 3
Move 1 from 1 to 3

星期一, 六月 12, 2006

Lab Recursive Method

package s9325116;


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class recursion {
public static void main(String[] args)throws IOException
{ BufferedReader keyboard=new BufferedReader(new InputStreamReader(System.in));
int b=Integer.parseInt(keyboard.readLine());
int c=recursive(b);
System.out.println(c);
}

public static int recursive(int n)
{
if(n==1)
return 1;
else
return recursive(n-1)+n*n;
}
}

-------------------------------------------------------------------------------------------------

執行結果

222
3671695

星期一, 五月 29, 2006

Lab Sorting

package ppp;


public class ArrayOfLength
{
public static void main (String[] arges)
{
int [] lenght= {45,54,87,78,99};

for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
if(lenght[i]>lenght[j])
{
int a;
a=lenght[i];
lenght[i]=lenght[j];
lenght[j]=a;
}

}

}
for(int i=0;i<5;i++)
{
System.out.println(lenght[i]);
}



}

}


____________________________________________________________________

執行結果
99

87

78

54

45

星期一, 五月 22, 2006

fraction

package eee;


public class fraction
{
private int numerator;
private int denominator;
fraction ()
{
numerator=0;
denominator=0;
}
fraction(int numerator,int denominator)
{
this.numerator=numerator;
this.denominator=denominator;
}
fraction( fraction h)
{
this.numerator=h.numerator;
this.denominator=h.denominator;
}
public static fraction add(fraction c1, fraction c2)
{
fraction c3= new fraction();
c3.numerator=(c1.numerator*c2.denominator)+(c2.numerator*c1.denominator);
c3.denominator=c1.denominator*c2.denominator;

return c3;
}
public static int valueN(fraction c)
{
return c.numerator;
}

public static int valueD(fraction c)
{
return c.denominator;
}
public static String toString(fraction c)
{
return c.numerator + "/" + c.denominator;
}

}

___________________________________________________________________


package eee;


public class text {
public static void main (String[] args)
{
fraction c1=new fraction(3,5), c2= new fraction(5,6),c3;
c3=fraction.add(c1,c2);
System.out.println(fraction.valueN(c3)+"/"+fraction.valueD(c3));
System.out.println(fraction.toString(c3));
}

}
___________________________________________________________________

結果
43/30

43/30

星期一, 五月 15, 2006

"Lab Static Method, Part II"

package aaa;

import java.lang.*;

public class Complex
{
private float real;
private float imaginary;

Complex(){
real=0;
imaginary=0;
}

Complex(float real){
this.real=real;
this.imaginary=0;
}

Complex(float real, float imaginary){
this.real=real;
this.imaginary=imaginary;
}

Complex(Complex c){
this.real=c.real;
this.imaginary=c.imaginary;
}

public static Complex add(Complex c1, Complex c2){
Complex c3= new Complex();
c3.real=c1.real+c2.real;
c3.imaginary=c1.imaginary+c2.imaginary;

return c3;
}

public static String toString(Complex c){
return c.real + "+" + c.imaginary +"i";
}
public void print(Complex c)
{

System.out.println(c.real+"+"+c.imaginary+"i");
}

public static float valueR(Complex c){
return c.real;
}

public static float valueI(Complex c){
return c.imaginary;

}
}
____________________________________________________________________

package aaa;

import java.io.*;

public class text {
public static void main(String[] args)
{
Complex c1= new Complex(2,3), c2= new Complex(4,5), c3;
c3=Complex.add(c1,c2);
//System.out.println(Complex.valueR(c3)+"+"+Complex.valueI(c3)+"i");
//System.out.println(Complex.toString(c3));
c3.print(c3);
}
}

___________________________________________________________________

6.0+8.0i

星期四, 五月 11, 2006

Lab Counter II

package counter;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Counter
{
private int number;

public Counter()
{
}

public void reset()
{
number = 0 ;
}

public void inc()
{
number = number + 1 ;
}

public void dec()
{
number = number - 1 ;
}

public int getNumber()
{
return(number);
}


public boolean equals(Counter otherNumber)
{
return(this.number == otherNumber.number);
}

public void setNumber(int number)
{
this.number=number;
}

public void writeOutput()
{
System.out.println(number);
}

public void readInput() throws IOException
{
boolean tryAgain = true;
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System. in));

while (tryAgain)
{
System.out.println("Enter a number.");
System.out.println("Do not use a comma.");

int numberInput = keyboard.read();

if(numberInput >= 0)
tryAgain = false;
else
System.out.println("Illegal date. Reenter input.");
}
}

}




package counter;

public class CounterDemo
{
public static void main(String[] args)
{
Counter number1 = new Counter(),
number2 = new Counter();

number1.inc();
number1.writeOutput();

number1.inc();
number1.writeOutput();

number1.dec();
number1.writeOutput();

number2.setNumber(3);
number2.writeOutput();

number1.setNumber(3);
number1.writeOutput();

if(number2.equals(number1))
System.out.println(number2.getNumber() + " equals " + number1.getNumber());
else
System.out.println(number2.getNumber() + " does not equals " + number1.getNumber());
}
}


執行結果:

1

2

1

3

3

3 equals 3

星期一, 五月 08, 2006

作業

package aaa;
public class Counter
{
private int count = 0 ;
public void reset()
{
count = 0;
}
public void inc()
{
count=count+1 ;
}
public void dec()
{
count=count-1 ;
}
public void output()
{
System.out.println(+ count);
}
}
______________________________________
package count;
public class CounterDemo
{
public static void main(String[] args)
{
Counter counter= new Counter();
counter.output();
counter.inc();
counter.output();
counter.inc();
counter.inc();
counter.output();
counter.dec();
counter.output();
counter.reset();
counter.output();
}
}

OUTPUT:
0
1
3
2
0