java if bedingung strings vergleichen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • hallo leute,
    folgendes problem: ich hab mir ein java programm geschrieben welches die gpio aktiviert und in oder out schaltet, funktioniert auch.
    allerdings möchte ich dass ein fehler ausgegeben wird, wenn man ein anderes wort als "in" oder "out" eingiebt, also sollen Strings in einer if bedingung verglichen werden. ich hab echt viel gegoogelt und probiert kriegs aber einfach nicht hin :(

    hier mal ein ausschnitt aus der methode in zeile 4 ist denk ich der wurm drin, die erste bedingung funktioniert, das ist eine methode die ein array durchsucht (ob der zu aktivierende gpio überhaupt existiert)

    Einmal editiert, zuletzt von King Tesla (28. Juni 2013 um 17:16)

  • ich hab die ganzen ==true rausgeworfen, aber es funst immer noch nicht. egal was ich der methode für strings übergebe, sie haut immer das system.out.print unter dem else raus...

    trotzdem vielen dank dass du mir versuchst zu helfen

  • Hi,

    ich bin zwar mehr auf der C-Schiene unterwegs, aber bist Du sicher, dass das hier:

    Code
    ((Suchen(i) == true)) && (io.equals("in") == true) && (io.equals("out")) == true)

    so funktioniert?
    Wie soll denn "io" gleichzeitig "in" und "out" sein, oder lese ich da was falsch?
    Wenn, dann müsste das hier doch eher:

    Code
    ((Suchen(i) == true)) && (io.equals("in") == true) || (io.equals("out")) == true)

    heissen, oder?


    cu,
    -ds-

  • ok vllt hat ja noch wer nen tip für mich am start sonst werd ich in den sauren apfel beissen, und mich im nächsten forum anmelden müssen xD
    galileo war auch meine erste anlaufstelle, da hab ich auch gelernt find jetzt aber für mein problem keine lösung dort. oder ich bin echt zu blöd ^^

    oh mann bin ich ein dummkopf, natürlich hast du recht! ich danke dir recht herzlich hahahahaha:D

    Einmal editiert, zuletzt von King Tesla (28. Juni 2013 um 19:34)

    • Offizieller Beitrag

    Und warum benutzt einer Java anstelle der "integrierten" Programmiersprachen? An der Gewohnheit kann es nicht liegen. Ich persönlich bin immer noch der Meinung das Java und Flash das schlimmste sind was dem Internet passieren konnten.


  • Und warum benutzt einer Java anstelle der "integrierten" Programmiersprachen? An der Gewohnheit kann es nicht liegen. Ich persönlich bin immer noch der Meinung das Java und Flash das schlimmste sind was dem Internet passieren konnten.

    Wenn ich mir das hier:



    anschaue, dann würde ich spontan sagen, dass Java die integrierte Programmiersprache für den Pi ist. Ist ja auch kein Wunder, die CPU stammt ja ursprünglich aus dem iPhone.

    Nur mal so nebenbei bemerkt,
    -ds-

  • Wenn ich mir das hier:


    anschaue, dann würde ich spontan sagen, dass Java die integrierte Programmiersprache für den Pi ist. Ist ja auch kein Wunder, die CPU stammt ja ursprünglich aus dem iPhone.

    Nur mal so nebenbei bemerkt,
    -ds-

    Java ist unter Android *die* Sprache, beim iPhone muß sie dagegen erst installiert werden.

    Und nur weil die RPi-CPU Java-Bytecode ausführen kann, heißt das noch lange nicht, daß das bei Java-Programmen auf dem RPi auch wirklich geschieht. Damit Java-Programme direkt von der CPU ausgeführt werden, braucht es weitergehende Unterstützung. Meines Wissens nach wird die Verwendung von Jazelle von der Debian-Distribution noch nicht unterstützt. Der Java-Bytecode wird wie in anderen Fällen auch von einer Software interpretiert.

  • Hi ah114088,

    mag sein, dass das so ist ... mag sein, dass es anders ist ;) ...

    Mir ist das, ehrlich gesagt, ziemlich egal.
    Es wird wohl immer wieder diesen Glaubenskrieg geben, was jetzt wofür besser ist.
    Es gab einen C++-Hype, einen VB-Hype, einen C#-Hype, einen Java-Hype, ... und derzeit ist halt der python-Hype in.
    Ich bin der Meinung, jeder sollte mit der Sprache arbeiten, die ihm am besten zusagt.

    Ich bin, zugegebenermassen, ein absoluter Fan von Assembler und C, und das schon seit PCs in Deutschland langsam in Mode kamen.

    Ich habe auch durchaus Vorteile in C++ und dem objektorientierten Ansatz erkannt ... aber nur im Kopf ;) ...
    Vom Gefühl her kann ich das aber irgendwie nicht so recht akzeptieren ...:rolleyes:

    In einem Punkt muss ich dbv ohne Einschränkungen recht geben (hat er mal in irgendeinem Thread hier geschrieben):
    Wenn man verstanden hat, was man tut, ist die Sprache eher nebensächlich.

    Ist so ähnlich wie mit der ewigen Diskussion Windows <-> Linux ...

    Aber danke für die Aufklärung,

    ciao,
    -ds-


  • Ich bin, zugegebenermassen, ein absoluter Fan von Assembler und C, und das schon seit die ersten PCs in Deutschland zu bekommen waren.
    Ich habe auch durchaus Vorteile in C++ und dem objektorientierten Ansatz erkannt ... aber nur im Kopf ;) ...
    Vom Gefühl her kann ich das aber irgendwie nicht so recht akzeptieren ...:rolleyes:
    ciao,
    -ds-

    hihi, geht mir ähnlich, bei C verstehe ich noch halbwegs was dahinter steckt, c++ oder cpp ist mir fremd, wie kann ein array entweder Buchstaben, Bilder oder Currywürste enthalten :huh: ich blicke da nicht durch...... :blush:

    und wenn es eine Programmiersprache C für den PI gibt, warum soll ich Cobul, Java oder Pascal nutzen ?

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (29. Juni 2013 um 14:33)

    • Offizieller Beitrag

    Ein bisschen Fanatismus schadet ja auch nicht :). Ich will auch keinen bekehren und sehe durchaus die Vorteile anderer Sprachen. Allerdings ist java das für mich, was für apple und sony der jailbreak ihrer Geräte ist.

    Selbst ich als python jünger bin mit der objektorientierung noch nicht richtig warm geworden. :).Liegt wohl in meinen Wurzeln Basic/ Pascal.

    Ansonsten ist grade die absolute flexibilität der Datentypen ein wahre Freude der "modernen" Programmiersprachen.

  • Ich mag diese Glaubenskrieger auch nicht, obwohl ich selbst C und Unix bevorzuge. Ich mache auch nicht alles in C. Wenn ich schnell mal etwas hinbiegen muß, dann greife ich gerne auf Ruby zurück. Wer Java mag, der soll in Java programmieren. Mein Beitrag war ja auch nicht gegen Java als Programmiersprache gerichtet, sondern nur gegen die falsche Annahme einer besonderen Java-Unterstützung auf dem RPi ;)

    Einmal editiert, zuletzt von ah114088 (29. Juni 2013 um 15:13)


  • Ich mag diese Glaubenskrieger auch nicht, obwohl ich selbst C und Unix bevorzuge. Ich mache auch nicht alles in C. Wenn ich schnell mal etwas hinbiegen muß, dann greife ich gerne auf Ruby zurück. Wer Java mag, der soll in Java programmieren. Mein Beitrag war ja auch nicht gegen Java als Programmiersprache gerichtet, sondern nur gegen die falsche Annahme einer besonderen Java-Unterstützung auf dem RPi ;)


    Naja ... so ganz klar ist mir das alles trotzdem nicht. Du hast ja auch die MPEG2-Unterstützung zu aktivieren, obwohl in der CPU sicher kein kompletter DVD-Decoder enthalten ist ;) ...
    Vielleicht hat diese Java-Unterstützung ja auch nur was mit der Floating-Point Geschichte zu tun?

    Ist ja auch egal ... deshalb hab ich ja auch geschrieben dass ich das spontan so interpretieren würde und die CPU wohl für Handy & Co. gedacht war, wo Java doch eher verbreitet ist.

    cu,
    -ds-


  • Naja ... so ganz klar ist mir das alles trotzdem nicht. Du hast ja auch die MPEG2-Unterstützung zu aktivieren, obwohl in der CPU sicher kein kompletter DVD-Decoder enthalten ist ;) ...
    Vielleicht hat diese Java-Unterstützung ja auch nur was mit der Floating-Point Geschichte zu tun?

    Ist ja auch egal ... deshalb hab ich ja auch geschrieben dass ich das spontan so interpretieren würde und die CPU wohl für Handy & Co. gedacht war, wo Java doch eher verbreitet ist.

    cu,
    -ds-

    Wenn Du Informationen zu dieser vorgestellten CPU-basierten Java-Unterstützung auf dem RPi hast, würde mich das interessieren. Besonders interessieren würde mich, wie die CPU mit Java-Bytecode-Anweisungen umgeht, die dynamischen Speicher anfordern oder freigeben (Garbage-Collction). Außerdem frage ich mich, wie Jazelle mit Bibliotheks-Aufrufen über JNI umgeht. Da müßte dann ja irgendwie zwischen den verschiedenen CPU-Befehlsmodis hin- und hergeschalten werden ... :huh:

    Solange niemand diese Fragen beantworten kann, dürfen wir wohl davon ausgehen, daß es keine besondere Unterstützung für Java-Programme auf dem RPi gibt. Ich habe bei meinen Recherchen dazu nichts Greifbares gefunden.

    Was ich gefunden habe waren Aussagen wie diese:


    Zitat


    No, it isn't. Jazelle (DBX) is pretty useless. It's much slower than a decent VM, but (from what I've heard) complicated to implement and use, and requires licensing from ARM. I don't know of any up-to-date VM that can use Jazelle, which says a lot already. It has been abandoned on Cortex cores for good reason.

    Das war eine Antwort auf die Frage, ob Jazelle auf dem RPi verwendet werden kann:

    Zitat


    One of the 'interesting' questions is if we can use the JAVA (Jazelle) instruction engine which is part of the ARM1176 core.

    Es mag ja sein, daß es irgendeine theoretische Möglichkeit gibt, diese Hardware-seitige Unterstützung zu aktivieren. Nur hilft das eben nichts ... ;)

    Akademisch ist das Thema sicherlich hochinteressant. Hier z.B. eine Präsentation auf den Seiten der Universität Hannover. Es wird darin aber nur auf die Eigenheiten der ARM-CPU im Jazelle-Modus eingegangen. Nicht erwähnt wird, wie daraus eine standardkonforme Java-Virtual-Machine entstehen soll ... :rolleyes:

  • Hi ah114088,

    ich kann mich ja mal umgucken, wenn ich mal wieder im Suchmodus unterwegs bin.
    Ich hab auch Aussagen gelesen, dass diese Hardware-Unterstützung langsamer sein soll, als die Software-Lösung.
    Andere Stimmen sagen, dass die Schnittstelle sehr kompliziert sein soll ...

    Also alles in allem viel Spekulation, eher wenig Fakten.

    cu,
    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!