import java.io.*; import java.util.*; import javax.microedition.rms.*; class Salvestamine{ static int punkte=0; static int koht=0; static String nimi=" "; static RecordStore rs; static byte[] kompott=null; static String[] nimed=new String[15]; static int[] punktiskoorid=new int[15]; public Salvestamine(){ //System.out.println("klass tehtud"); try{ rs=RecordStore.openRecordStore("hoidla", true); }catch(Exception e){} } /* * Muudab andmed kirjele arusaadavaks baidimassiiviks */ static byte[] tee_baitideks(int k,String n){ ByteArrayOutputStream bos=new ByteArrayOutputStream(); DataOutputStream dos=new DataOutputStream(bos); try{ //UTF paneb stringi //kirjutab inti dos.writeInt(k); dos.writeUTF(n); dos.close(); kompott=bos.toByteArray(); }catch(Exception e){ System.out.println("mingi kala"+e); } return kompott; } static String loe_nimi(int i) throws Exception{ ByteArrayInputStream bis=new ByteArrayInputStream(rs.getRecord(i)); DataInputStream dis=new DataInputStream(bis); int arv=dis.readInt(); String otsitav=dis.readUTF(); return otsitav; } static int loe_punktid(int i) throws Exception{ ByteArrayInputStream bis=new ByteArrayInputStream(rs.getRecord(i)); DataInputStream dis=new DataInputStream(bis); int otsitav=dis.readInt(); String nimi=dis.readUTF(); return otsitav; } /* * Kui kirjeid üldse puuduvad, tekitatakse esimene. * Kui juba mõni kirje leidub, vaadatakse massiiv tagntpoolt ettepoole liikudes läbi ning leitakse * punktiskoori asukoht tabelis. * Seejärel tõstetakse väiksemad väärtused alates antud skoorist ühe koha võrra massiivis edasi ja kirjutatakse hetke skoor * omale kohale. * Lõpuks kirjutatakse kogu massiiv kirjetesse tagasi */ static void seiv(String n, int skoor){ byte[] baidipuder=tee_baitideks(0,""); try{ int jnr=5; int kirjeid=rs.getNumRecords(); if(kirjeid<3){ // lisame kirjed while(kirjeid<3){ rs.addRecord(baidipuder, 0, baidipuder.length); kirjeid=rs.getNumRecords(); System.out.println("aa"); } } // võrdlemine / ülekirjutamine for(int i=1;i<=kirjeid;i++){ punktiskoorid[i]=loe_punktid(i); nimed[i]=loe_nimi(i); } // uue kirje asukoha leidmine for(int i=kirjeid;i>=1;i--){ if((n==nimed[i])&&(skoor==punktiskoorid[i])){ }else{ if(skoor>punktiskoorid[i])jnr=i; } } // tõstame teised andmed edasi for(int i=kirjeid;i>=jnr;i--){ punktiskoorid[i+1]=punktiskoorid[i]; nimed[i+1]=nimed[i]; } // uus kirje omale kohale punktiskoorid[jnr]=skoor; nimed[jnr]=n; // kirjuta kõik kirjesse for(int i=1;i<=3;i++){ baidipuder=tee_baitideks(punktiskoorid[i],nimed[i]); rs.setRecord(i,baidipuder, 0, baidipuder.length); } }catch(Exception e){ //System.out.println("jälle kala:"+e); } } /* * Salvestab kogu kupatuse kirjetesse */ void kirjuta_kirjesse(int i,String j,int kuhu) throws Exception{ } void info(){ try{ int kirjeid=rs.getNumRecords(); //System.out.println("kirjeid on kokku"+kirjeid); for(int i=1;i<=rs.getNumRecords();i++){ //System.out.println(i+" = "+loe_punktid(i)+" : "+loe_nimi(i)); } }catch(Exception e){ //System.out.println(e); } } static void imporditudAndmed(String[] a, String b[]){ int i=0; System.out.println("****************SALVESTAMINE NIMED*************"); for(int j=0; j