C++ Progger braucht hilfe, bitte!!



  • Hallo Leute,
    da ist es also passiert: ich muss meinen ersten Java Quelltext auf C++ ummuenzen!!

    Habe ehrlich noch nie Java ausprobiert; und hier die Frage/Fragen

    ist int[] Array in Java = int Array[] in C++?

    und was zum Teufel machen folgende Zeilen/die Funktion ?!?!

    public double[] getQValuesAt(int[] state)
    {
        int i;
        Object curTable = qValueTable; //Ist ein private Object ???
        double[] returnValues;
    
        for(i = 0;i<dimSize.length - 2;i++)
            curTable = Array.get(curTable, state[i]);
    
        qValues = (double[])Array.get( curTable, state[i]);
        returnValues = new double[qValues.length];
    
        System.arraycopy(qValues, 0, returnValues, 0, qValues.length);
    
        return returnValues;
    }
    

    Kann mir da evtl. einer Helfen!!

    Bis denn Frank;



  • ist int[] Array in Java = int Array[] in C++?

    In Java werden Arrays als Objekte behandelt. Also musst du instanziieren.

    int[] arr = new int[5] // Array mit 5 ints
    


  • Hi,

    also

    int arr[5];
    

    entspricht

    int arr[] = new int[5];
    
    1. Diese Funktion, keine Ahnung was sie macht, kompiliert die in der Form?
      Weil irgendwie sieht
    double[] return Values;
    

    und

    return return Values;
    

    ziemlich komisch aus.

    Wo hast du den Code denn her und was willst du denn wohin umschreiben, cpp in java oder java in cpp?

    Bye



  • Der Code ist ein Fragment aus einem "Q-Learning" - Algorithmus (eine Art der KI).

    Ich vermute, das dort irgendwelche Q-Werte(QValues) in irgendwelche Array geschrieben und kopiert werden.
    Den kompletten Code gibts unter

    [url]
    http://www.cse.unsw.edu.au/~cs9417ml/RL1/source/RLPolicy.java
    [/url]

    schonmal Danke fuer die Antworten!!

    ohoh habe da einen boesen Tippfehler gesehen und korrigiert

    return returnValues
    

    ist wohl so gemeint!!

    und noch nee frage: was ist OBJECT fuer ein Datentyp????



  • na ein Object 😉

    Die Klasse Object
    Enthält eine Klasse keine extends-Klausel, so besitzt sie die implizite Vaterklasse Object. Jede Klasse, die keine extends-Klausel besitzt, wird direkt aus Object abgeleitet. Jede explizit abgeleitete Klasse stammt am oberen Ende ihrer Vererbungslinie von einer Klasse ohne explizite Vaterklasse ab und ist damit ebenfalls aus Object abgeleitet. Object ist also die Superklasse aller anderen Klassen.

    Aus dem Buch Go To Java von Guido Krüger
    http://www.javabuch.de/
    welches ich dir übrigens sehr empfehlen kann!

    cu



  • und wenn ich dann ein Objekt der Klasse Object erzeuge, kann dann auch ALLES ????

    Sprich: moechte ich alle JavaMethoden benutzen nimm ich ein OBJECT Objekt?!?!

    oder wie?!?



  • ich denke du kannst c++ ??

    aus der klasse object sind halt alle anderen abgeleitet.
    es ist das ur-object von dem alle abstammen.



  • Objekt kann natürlich nur die in ihr definierten Methoden.
    Object



  • Geht schon klar, hab mir ein java buch runtergeladen. damit geht wohl erstmal alles gerade!!!!

    👍 😋


Anmelden zum Antworten