Java navratova hodnota z funkcie

Sekcia: Programovanie 05.01.2011 | 12:39
Avatar Tomas Hreben OpenSuse 12.1 , win 7  Používateľ
Potreboval by som poradi. Robim jeden program kde pouzivam TreeSet a potreboval by som z funkcie dostat navratovu hodnotu nejakeho prvku. Mam to nakodene len to hadze chybu:

incompatible types
required: long
found: java.lang.Object



tuto je aj cela trieda co som nakodil vedeli by ste mi pomoc ako to vyriesit :



import java.lang.Long;
import java.util.Collections;
import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author tomas hreben
*/
public class Strom {
private long cislo;
static SortedSet s1;
static SortedSet s;

public Strom(){
s1=new TreeSet();
s= Collections.synchronizedSortedSet(s1);
}

synchronized void vlozenie(long cislo){
s1.add(cislo);
s.add(s1);
}


long vypis_jedneho(long poradie){
long i=0;
long vyp=0;
for(Iterator it=s.iterator();it.hasNext();i++){
if(i==poradie){
vyp=it.next();
}
}
return vyp;
}


void vypis_vsetkych(){
for(Iterator it=s.iterator();it.hasNext();){
System.out.println(it.next());
}
}


}

    • Re: Java navratova hodnota z funkcie 05.01.2011 | 13:45
      Avatar m4jkl   Používateľ
      hrozny kod... skutocne priserny :)

      /**
      *
      * @author tomas hreben
      */
      public class Strom {
      private long cislo;
      static SortedSet<Long> s1;
      static SortedSet<Long> s;

      public Strom(){
      s1=new TreeSet<Long>();
      s= Collections.synchronizedSortedSet(s1);
      }

      synchronized void vlozenie(long cislo){
      s1.add(cislo);

      s.addAll(s1); }


      long vypis_jedneho(long poradie){
      long i=0;
      long vyp=0;
      for(Iterator<Long> it=s.iterator();it.hasNext();i++){
      if(i==poradie){
      vyp=it.next();
      }
      }
      return vyp;
      }


      void vypis_vsetkych(){
      for(Iterator<Long> it=s.iterator();it.hasNext();){
      System.out.println(it.next());
      }
      }


      }
      • Re: Java navratova hodnota z funkcie 05.01.2011 | 22:57
        Avatar Tomas Hreben OpenSuse 12.1 , win 7  Používateľ
        dakujem, za opravu, ked som odoslal otazku na fore tak som si tam podoplnal tie <Long> a teraz smo tam upravil to addAll(s1); a uz to ide. chcel by som sa spitat ze ako by mohol tento kod vyzerat inak?
        • Re: Java navratova hodnota z funkcie 05.01.2011 | 23:02
          Avatar Tomas Hreben OpenSuse 12.1 , win 7  Používateľ
          este aby som nezabudol...viem ze sa toto da riesit aj bez vytvorenia triedy, ale pre lepsie pouzitie to potrebujem mat v tirede.