String
>>>> in Java
String st = new String("Seneca");
st = st.replace("e", "u");
System.out.println(st); // Sunuca
>>>> in Scheme
(define st (java.lang.String'new "Seneca"))
(set! st (st'replace "e" "u" ))
(display st) ; Sunuca
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
if
>>>> in Java
int x = 3, y = 5, large = 0;
if (x > y)
large = x;
else
large = y;
System.out.print(large); // 5
>>>> in Scheme
(define x 3)
(define y 5)
(define large 0)
(if (> x y)
(set! large x)
(set! large y)
)
(display large) ; 5
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
for
>>>> in Java
for (int i = 0; i < 10; i++)
System.out.print(i); // 0123456789
>>>> in Scheme
(for ((i 0)) (< i 10) (set! i (+ i 1))
(display i) ; 0123456789
)
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
While
>>>> in Java
int n = 0;
while(n < 10){
System.out.print(n);
n++;
}
// 0123456789
>>>> in Scheme
(define n 0)
(while (< n 10)
(display n)
(set! n (+ n 1))
)
; 0123456789
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Switch Case
>>>> in Java
int x = 7;
String st = "";
switch (x){
case 1: st = "one"; break;
case 3: st = "three"; break;
case 7: st = "seven"; break;
default: st = "else";
}
System.out.println(st);
>>>> in Scheme
(define x 7)
(define st "")
(case x
((1) (set! st 'one))
((3) (set! st 'three))
((7) (set! st 'seven))
(else (set! st 'else))
)
(display st) ; seven
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Iterator
>>>> in Java
ArrayList numbers = new ArrayList();
for (int i = 0; i < 10; i++)
numbers.add(i);
for (Iterator iterator = numbers.iterator(); iterator.hasNext();)
System.out.print(iterator.next()); // 0123456789
>>>> in Scheme
(import 'java.util.ArrayList)
(define numbers (java.util.ArrayList'new))
(for ((i 0)) (< i 10) (set! i (+ i 1))
(numbers'add i)
)
(for ((it (numbers'iterator))) (it'hasNext) ()
(write (it'next)) ; 0123456789
)
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Try and Catch
>>>> in Java
try {
int x = 1 /0;
} catch (ArithmeticException e) {
e.printStackTrace();
} finally{
System.out.println("finally");
}
// java.lang.ArithmeticException: / by zero
// finally
>>>> in Scheme
(try
(define x (/ 1 0))
(lambda (e) e)
(display "finally")
)
; final
; #<java.lang.ArithmeticException: / by zero>