Anonymní profil Neony – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Neony – Programujte.comAnonymní profil Neony – Programujte.com

 

Příspěvky odeslané z IP adresy 85.70.223.–

Java › Problém s přetypováním
14. 4. 2013   #174980

Dobrý den, JVM mi hází chybu s přetypováním : " Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: ADS.AbstrTree$List cannot be cast to Firma.Zamestnanec" . A to přesně v metodě vratPole, která je volaná s přijatým parametrem z metody dejSeznamPotomku viz dole. Řešením by prý mohlo být použít public E[] dejSeznamPotomku(Class<E> cokoliv) ; nicméně,  kdyz změním rozhraní a pak volám tuto metodu s parametrem dejSeznamPotomku(Zamestnanci.class), tak mi to vypisuje tohle:

method dejSeznamPotomku in interface IAbstrTree<E#2> cannot be applied to given types;
  required: Class<E#1>
  found: Class<Zamestnanec>
  reason: actual argument Class<Zamestnanec> cannot be converted to Class<E#1> by method invocation conversion
  where E#1,E#2 are type-variables:
    E#1 extends Object declared in class Pobocka
    E#2 extends Object declared in interface IAbstrTree

Vážně už nevím co s tím, budu rád za každou radu...

Zamestnanec[] vratPole(E[] pole) {
        Zamestnanec[] zamPole = new Zamestnanec[pole.length];
        for (int i = 0; i < pole.length; i++) {
            zamPole[i] = (Zamestnanec) pole[i];
        }
        return zamPole;
    }

    @Override
    public E[] dejSeznamPotomku() {
        kontrolaPlnosti();
        kontrolaNastaveniAktualnihoPrvku();

        E[] pole = (E[])new Object[ mohutnost()];
        int i = 0;
        for (E e : aktualni.potomci) {
            pole[i++] = (E) e;
        }
        return pole;
    }
PHP › PHP OOP
22. 2. 2012   #153936

#4 dObi
Děkuji za doplňující informace... V PHP začínám, takže jsem si přečetl jen pár stránek - nejspíš "neaktuálních"... Jinak o modifikátorech přístupu, již vím z Javy, ale zatím tedy na to co dělám si myslím, že nemají moc velký smysl... 

PHP › PHP OOP
19. 2. 2012   #153771

#2 crazy
Jasný, děkuji myslel jsem si, že pracuji s členskou proměnnou (var $a, var $b) -> no nevadí, tak nic ještě jednou dík...

PHP › PHP OOP
19. 2. 2012   #153764

Dobrý den, začínám s PHP a zkouším objektový přístup, tedy OOP je mi již známo z Javy, ale jaksi PHP má trochu jíné chápání než Java a já jsem zmaten... Prosím, jestli by byl někdo tak hodný a vysvětlil mi, proč je právě v $pom nulový obsah??

Předem děkuji za odpověď 

<?
class trida
{
 var $a;  // -*-
 var $b; //promenna instance

function trida($a,$b)   //konstruktor, zavola se pri vytvoreni instance tedy po new 
{
     $this->a=$a;  //inicializace
      $this->b=$b;
}
function vypis(){
$pom= $a*$b;
echo $pom;            //proc nula?
}   
   
   }
$prvni = new trida(7,4); //zde je referencni promenna $prvni ?  
$prvni->vypis();  

  
?>
Funkcionální programování › Vývojové diagramy - syntax,…
26. 1. 2012   #152910

Dobrý den, chtěl bych se zeptat na věci ohledně syntaxe a sémantiky v jazyce Vývojových diagramů. Uvažuji, že jako každý jazyk(formální, programovací) bude mít i jazyk VD stejnou definici syntaxe i sémantiky, ale trochu už mi dělá problém určit co je u jazyka VD sémantická a syntaktická chyba (jde mi přesně o chyby v jazyce VD)???

Předem děkuji

Neony
Java › Přepsání C do Javy
25. 11. 2011   #150486

 Dobrý den, chtěl bych se zeptat jestli je vůbec možné nějak přepsat tento zdrojový kód (ukazatele) do javy?

Předem děkuji za odpověď

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

void selectSort(int n, int limit, int pole[]) {
    int i = 0, j = 0, min, pom;
    
    
    // projde tolik hodnot od zacatku, kolik je limit
    
    for (i = 0; i <= limit; i++) {
        
        // aktualni prvek oznaci jako minimalni
        
        min = i;
        
        // projde zbytek pole
        
        for (j = i+1; j < n; j++) {
            
            // pokud je prvek j mensi nez prvek min, ulozi si j do min
            
            if (pole[j] < pole[min]) {
                min = j;
            }
        }
        
        // prohodi aktualni prvek s minimalnim prvkem
        
        pom = pole[i];
        pole[i] = pole[min];
        pole[min] = pom;
        
        // pokracuje o pozici dal
        
    }
}

int main (int argc, const char * argv[])
{

    int
        *X = NULL, *Y = NULL, *pom = NULL,       // souradnice X, Y, pom
        inX, inY,                                // aktualni vstupy
        centralX, centralY,                      // souradnice centraly
        flag1, flag2,                            // navratove hodnoty scanf
        n = 0,                                   // pocet domu
        m,                                       // index prostredniho domu
        length = 0,                              // delka kabelu
        i;
    
    printf("Zadejte souradnice domu:\n");

    do {
        
        // nacteni X
        
        flag1 = scanf("%d", &inX);
        
        // pokud narazi na EOF
        
        if (flag1 == EOF) {
            getchar();
            // a nema jeste zadne souradnice
            
            if (n <= 0) {
               
                // vypise chybu
                    getchar();
                printf("Nespravny vstup.\n");
                return 1;
            } else {
                
                // pokud ma souradnice, pokracuje ke zpracovani dat
                
                break;
            }
        }
        
        // nacteni Y
        
        flag2 = scanf("%d", &inY);
        
        // pokud se X a Y nacetlo v poradku
        
        if (flag1 == 1 && flag2 == 1) {
            
            // ulozi do pole pod aktualni indexy
            
            // odlozi do pom ukazatel na pole
            
            pom = X;
            
            // alokuje nove pole
            
            X = (int *) malloc((n+1)*sizeof(int));
            
           // zkopiruje hodnoty ze stareho pole do noveho
            
            for (i = 0; i < n; i++) {
                X[i] = pom[i];
            }
            
            // uvolni stare pole
            
            if(n > 0) {
                free(pom);
            }
            
            // prida do noveho pole novou hodnotu
            
            X[n] = inX;
            
            // to same znovu pro Y
            pom = Y;
            Y = (int *) malloc((n+1)*sizeof(int));
            for (i = 0; i < n; i++) {
                Y[i] = pom[i];
            }
            if(n > 0) {
                free(pom);
            }
            Y[n] = inY;
            
            // zvysi pocet nactenych domu
            
            n++;
        } else {
            
            // pokud se neco nenacetlo spravne, vypise chybu
                  getchar();
            printf("Nespravny vstup.\n");
            return 1;        
        }
    } while (1);
    
    // spocita index prostredniho domu
    
    m = (n+1)/2 -1;
    
    // setridi pole az k prostrednimu domu
    
    selectSort(n, m, X);
    selectSort(n, m, Y);
    
    // ulozi si souradnice centraly
    
    centralX = X[m];
    centralY = Y[m];
    
    // projde vsechny domy a secteme X a Y vzdalenosti od centraly
    
    for (i = 0; i < n; i++) {
        length += abs(X[i] - centralX);
        length += abs(Y[i] - centralY);        
    }
    
    // printf("Souradnice centraly: %d %d\n", centralX, centralY);
    
    // vypise delku kabelu
    
    printf("Delka rozvodu: %d\n", length);
    getchar();
    free(X);
    free(Y);
    
    return 0;
    
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý