// 1.1 Eksam 29.01.03 static String initsiaalid(String eesnimi, String perenimi){ // Antud: kaks sõnet // Tulemus: tagastatakse sõne, // mis koosneb antud sõnede algussümbolitest return "" + eesnimi.charAt(0) + perenimi.charAt(0); }//initsiaalid // 1.2 class Test_initsiaalid{ // klassi Soned meetodi initsiaalid() testimine public static void main(String[] arg){ if(arg.length == 2){ System.out.println("Initsiaalid: " + Soned.initsiaalid(arg[0], arg[1])); } else System.out.println( "Kasutus: \n java Test_initsiaalid sõne1 sõne2"); }//main }//Test_initsiaalid // 2.1 static boolean onVahelduvadMärgid(int[] r){ // Antud: järjend r // Tulemus: tagastatakse true, // kui järjendi r elemendid on vahelduvate märkidega // (0-väärtusega elemente arvestamata), // false - vastasel korral // Eeldus: järjendis r on vähemalt 2 mittenulli int a[] = koondatud(r); // mittenullid ==> järjendisse a for(int i = 1; i < a.length; i++){ if((a[i-1] * a[i])> 0) return false; // see paar on samade // märkidega! }//for return true; // iga paar oli erinevate märkidega }//onVahelduvadMärgid // 2.2 static void muutaMärgid(int[] r){ // Antud: järjend r // Tulemus: antud järjendi elemetide väärtused asendatud // nende vastandarvudega // Eeldus: r != null for(int i = 0; i < r.length; i++) r[i] = -r[i]; }//muutaMärgid // 2.3 static int negKorrutis(int[] r, int i, int j){ // Antud: järjend r, indeksid i ja j // Tulemus: tagastatakse antud järjendi osas r[i]...r[j] olevate // negatiivsete elementide korrutis // (kui negatiivseid ei ole, siis loetakse korrutiseks 1) // Eeldus: r != null if(i > j) return 1; if(r[i] < 0) return r[i] * negKorrutis(r, i+1, j); else return negKorrutis(r, i+1, j); }//negKorrutis // 3.1 public Sirge algparalleel(){ // luuakse selle sirgega paralleelne sirge, mis läbib // koordinaatide alguspunkti; tagastatakse viit loodud isendile return new Sirge(k, 0.0); // sama tõus; algordinaat = 0 }//algparalleel // 4.2 public void eestiRahaks(double k){ // Eeldus: konto seis on mingis valuutas, mille kurss EEK suhtes on k // Tulemus: tehtud selle konto teisendus eesti kroonideks seis *= k; valuuta = "EEK"; }//eestiRahaks // 4.3 public class LimiidiErind extends Exception{ // erindiklass LimiidiErind(){ super("Summa ületab limiiti!"); }//konstruktor }//LimiidiErind public class KontoE { private static double LIMIIT = 3000; // konstant private double seis; private String valuuta; public Konto( double summa, String raha ) { seis = summa; valuuta = raha; } public Konto() { seis = 0.0; valuuta = "EEK"; } public void juurde( double summa ) { seis += summa; } public void maha( double summa ) throws LimiidiErind { if (summa > LIMIIT) throw new LimiidiErind(); // üle limiidi if (seis >= summa) seis -= summa; } public double annajääk(){ return seis; } public String annavaluuta(){ return valuuta; } }//KontoE class TestKontoE { public static void main(String args[]) { Konto konto1 = new Konto(); Konto konto2 = new Konto(150.00,"EUR"); konto1.juurde(400.00); System.out.println("Sellel kontol on " + konto1.annajääk() + " " + konto1.annavaluuta()); try{ konto2.maha(300); } catch (LimiidiErind e){ System.out.println("Ei saa maha võtta. " + e.getMessage()); } System.out.println("Sellel kontol on " + konto2.annajääk() + " " + konto2.annavaluuta()); }//main }//TestKontoE