Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos

timm4444

Mitglied
Hallo, ich programmiere noch nicht lange mit Java und lejos. Ich bin dabei mein erstes Programm immer weiter zu verbessern und vergrößern, komme jetzt aber nicht mehr weiter. Ich möchte , dass ich über den Befehl:
Java:
LCD.drawString(ColorSensor.ColorName, 0, 6);
den Name der erkannten Farbe aufs LCD schreiben kann. Dazu habe ich folgenden Code:
Java:
package de.lejos.fwk.sensor;

import lejos.hardware.port.Port;
import lejos.hardware.port.SensorPort;
import lejos.hardware.port.UARTPort;
import lejos.hardware.sensor.EV3ColorSensor;
import lejos.robotics.Color;


public class ColorSensor extends EV3ColorSensor {

    public final static Port DEFAULT_COLOR_SENSOR_PORT = SensorPort.S1;

    public ColorSensor(UARTPort port) {
        super(port);
    }

    public ColorSensor(Port port) {
        super(port);
    }

    public ColorSensor() {
        super(DEFAULT_COLOR_SENSOR_PORT);
    }


    
    public static String ColorName = "ERROR";
    
    public void ColorName2() {
        ColorName = "ERROR2";
        while (true) {
            switch (getColorID()) {
            case Color.WHITE:
                ColorName = "Weiß";
                return;
                
            case Color.YELLOW:
                ColorName = "Gelb";
                return;
                
            case Color.GREEN:
                ColorName = "Grün";
                return;
                
            case Color.BROWN:
                ColorName = "Braun";
                return;
                
            case Color.BLUE:
                ColorName = "Blau";
                return;
                
            case Color.RED:
                ColorName = "Rot";
                return;
                
            case Color.BLACK:
                ColorName = "Schwarz";
                return;
            }
        }
    }
}
Aber es wird dann immer "ERROR" angezeigt. Nicht mal "ERROR2". D.h. es wird der Teil wo die Farbe erkannt wird, wird nicht ausgeführt, oder? Ich glaube schon.
Ich weiß ich könnte die switch abfrage auch in die Hauptdatei packen, jedoch möchte ich, das die Abfrage in einer zweiten Datei ausgeführt wird.
Soll ich vielleicht anstatt der Switch abfrage if und elif Abfragen machen? Ich probiere das mal aus, bis ich hier eine Antwort bekomme.

(Das ist keine Hausaufgabe oder so, sondern mein eigenes Projekt)

Danke schonmal im vorraus.
 
Beste Antwort
main (die Methode public static void main) ist der Programmeinstiegspunkt, d. h. die erste Methode, die von der JVM aufgerufen wird. Insofern erübrigt sich die Frage, wie man ohne/vor main etwas ausführen kann. Kann natürlich sein, dass das Framework noch ein Main-Klasse kennt oder bestimmte andere Methoden benötigt, da ich es nicht kenne, kann ich dazu aber nichts sagen.

Ansonsten leitest Du ja von EV3ColorSensor ab. Daher brauchst Du bei getColorId() keine Referenz anzugeben (was implizit zu this.getColorId() führt).

Allerdings sehe ich keinen Grund, die Klasse EV3ColorSensor zu erweitern. Alles, was Du willst, ist eine Klasse, die einen EV3ColorSensor auslesen und den Namen der Farbe zurückgeben kann.

Java:
public class ColorSensor...

timm4444

Mitglied
EDIT: Ich bekomme die if abfrage nicht hin. Ich habe so etwas versucht:
Java:
public String getName() {
        if (ColorSensor.getColorID() == Color.RED) {
            return "ROT";
        }
        
        
    }
Habe dann aber immer nur:
Java:
Cannot make a static reference to the non-static method getColorID() from the type EV3ColorSensor

Ich habe jetzt nul Ahnung mehr, was ich machen könnte. 😭
 

timm4444

Mitglied
EDIT2: Sehr wilkommen!

Ich habe jetzt mein Programm erweitert und möchte folgenden Codeteil:
Java:
    public static String colorName() {
  
        String ColorName = "ERROR";
        switch (colorSensor.getColorID()) {
        case Color.BLACK:
            ColorName = "Schwarz";  //
            break;
        case Color.BLUE:
            ColorName = "Blau";  //
            break;
        case Color.BROWN:
            ColorName = "Braun";  //
            break;
        case Color.GREEN:
            ColorName = "Gruen";  //
            break;
        case Color.NONE:
            ColorName = "Keine Farbe";  //
            break;
        case Color.RED:
            ColorName = "Rot";  //
            break;
        case Color.WHITE:
            ColorName = "white";  //
            break;
        case Color.YELLOW:
            ColorName = "Gelb";  //
            break;
        default:
            ColorName = "Keine Farbe";
            break;
        }
        return ColorName;
        }
entweder als Unterprogramm haben oder in einer anderen Datei(Klasse). Ich habe es zwar schon als Unterprogramm geschrieben, jedoch muss ich vorher den Farbsensor initalisieren und möchte dabei etwas auf dem Bildschirm anzeigen lassen. Ich kann jedoch nichts vor dem Main-Aufruf auf dem LCD Display anzeigen lassen
Wenn mir jemand sagen kann, wie das geht(vor dem Main-Aufruf etwas anzeigen zu lassen oder den Farbsensor nicht im Unterprogramm initalisieren zu müssen), brauche ich das nicht in einer anderen Klasse.
 
Zuletzt bearbeitet:

timm4444

Mitglied
Vielleicht anders formuliert:
Kann ich z.B. "motorB.close" in einem Unterprogramm nutzten, ohne diesem im Unterprogramm zu Initalisieren?
(Er wird intalisiert bevor das Unterprogramm aufgerufen wird)
 
Zuletzt bearbeitet:

mihe7

Top Contributor
main (die Methode public static void main) ist der Programmeinstiegspunkt, d. h. die erste Methode, die von der JVM aufgerufen wird. Insofern erübrigt sich die Frage, wie man ohne/vor main etwas ausführen kann. Kann natürlich sein, dass das Framework noch ein Main-Klasse kennt oder bestimmte andere Methoden benötigt, da ich es nicht kenne, kann ich dazu aber nichts sagen.

Ansonsten leitest Du ja von EV3ColorSensor ab. Daher brauchst Du bei getColorId() keine Referenz anzugeben (was implizit zu this.getColorId() führt).

Allerdings sehe ich keinen Grund, die Klasse EV3ColorSensor zu erweitern. Alles, was Du willst, ist eine Klasse, die einen EV3ColorSensor auslesen und den Namen der Farbe zurückgeben kann.

Java:
public class ColorSensor {
    private final EV3ColorSensor sensor;
    private String color = "Nichts erkannt";

    public ColorSensor(EV3ColorSensor sensor) {
        this.sensor = sensor;
    }

    public String getDetectedColor() {
        return color;
    }

    public void detectColor() {
        switch (sensor.getColorId()) {
            case Color.BLUE: color = "blau"; break;
            case Color.RED: color = "red"; break;
            // usw.
            default: color = "Nichts erkannt";
        }
    }
}

Dem ColorSensor kannst Du bei seiner Erzeugung einen EV3ColorSensor übergeben, der beim Aufrufer initialisiert wird.
 
Beste Antwort

timm4444

Mitglied
Meeeega, danke.:):):):)
Genau was ich gesucht habe.

Zu deiner Frage, warum ich das mache, ist, dass man(soweit ich weiß) nur die Zahl der Farbe bekommt(oder nicht?🤔), aber ich den genauen Namen möchte, da der auf dem LCD angezeigt werden soll.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
X Hilfe bei Programm Allgemeine Java-Themen 5
S Hilfe bei simplem Programm Allgemeine Java-Themen 3
S Brauche Hilfe bei Planung für JAVA-Programm Allgemeine Java-Themen 3
Y Benötige Hilfe beim Programm Allgemeine Java-Themen 2
_SeiA_ Hilfe Kleines Java Programm schreiben. Summen. Allgemeine Java-Themen 3
J Java - 4-Buchstaben-Programm. Hilfe. ich hänge fest Allgemeine Java-Themen 7
B hilfe bei programm Allgemeine Java-Themen 2
W Hilfe bei Methode Allgemeine Java-Themen 14
M Javascript Hilfe bei ToDoList? Allgemeine Java-Themen 1
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
T Hilfe bei negation von suchabfrage Allgemeine Java-Themen 2
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
N Hilfe bei RegEx benötigt Allgemeine Java-Themen 3
A Hilfe beim Verständnis Allgemeine Java-Themen 16
V Hilfe mit Java Code Allgemeine Java-Themen 4
alinakeineAhnungv Hilfe bei einem Straßenbahn-Projekt von mir Allgemeine Java-Themen 18
Aboya Kugel mit Hilfe von Dreiecken rekursiv zeichnen Allgemeine Java-Themen 2
K Anzeigemöglichkeit von Bildern in JavaFX mit Hilfe von MongoDB GridFS Allgemeine Java-Themen 0
A Preisberechnung, Hilfe Allgemeine Java-Themen 4
M Bräuchte Hilfe bei der Aufgabe Allgemeine Java-Themen 1
s_1895 Hilfe bei Java Tic Tac Toe Allgemeine Java-Themen 8
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
J Hilfe, Jar Datei kann nicht ausgeführt werden Allgemeine Java-Themen 2
M Hilfe bei einer Java Programmieraufgabe! Ab morgen Montag um 08:00 Uhr Allgemeine Java-Themen 5
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
U Erste Schritte Hilfe bei simplem Glücsspiel in Java Allgemeine Java-Themen 4
K OOP Suche Hilfe + Erklärung für eine Hausaufgabe Allgemeine Java-Themen 1
K Objektorientierung, hilfe Allgemeine Java-Themen 9
V Bilder bei bestimmten Zeiten wechseln, bitte um Hilfe Allgemeine Java-Themen 5
D Hilfe bei Informatik Hausaufgaben Allgemeine Java-Themen 30
RalleYTN Brauche Hilfe beim Run-Length-Decoding Allgemeine Java-Themen 9
S Hilfe bei dem Auslesen einer YAML Datei Allgemeine Java-Themen 8
F NetBeans Hilfe!!! Allgemeine Java-Themen 23
H Schiffe versenken JButton Schiffe mit GUI verbinden Hilfe! Allgemeine Java-Themen 2
M Bitte Hilfe mit REGEX (Negieren) Allgemeine Java-Themen 4
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
S GetMethode erstellen mit Hilfe von Parametern Allgemeine Java-Themen 9
B Hilfe bei Übungsblätter Allgemeine Java-Themen 9
O Erste Schritte Benzinverbrauch Code Hilfe Allgemeine Java-Themen 3
C Hilfe Bei Vegas Slide Allgemeine Java-Themen 0
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
Ice4P4rty Hilfe Bei Promillerechner Allgemeine Java-Themen 9
C Atfx mit Hilfe von OpenAtfx auslesen Allgemeine Java-Themen 1
perlenfischer1984 Hilfe bei Design (Pattern) Allgemeine Java-Themen 5
G Hilfe bei Projektarbeit Allgemeine Java-Themen 5
GenerationLost Input/Output Custom Serialization - hilfe bei Realisierung Allgemeine Java-Themen 8
J Hilfe!!! Ausbildung Allgemeine Java-Themen 14
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
B Swing Hilfe bei Abfrage von Benutzernamen und Passwort Allgemeine Java-Themen 2
T Hilfe bei Code Allgemeine Java-Themen 3
U Swing Hilfe beim Quellcode für ein Codierungs-/Decodierungsprogramm Allgemeine Java-Themen 9
S Hilfe bei Gui Allgemeine Java-Themen 3
O Best Practice Hilfe bei Algorithmus gesucht Allgemeine Java-Themen 10
GRAZZ0R Hilfe zum Spiel Mensch ärger dich nicht Allgemeine Java-Themen 1
C Hilfe bei den Ausgaben Allgemeine Java-Themen 4
K Hilfe bei GUI für Pizza-Service Allgemeine Java-Themen 11
J Hilfe bei Datumsberechnung aus Textfeld Allgemeine Java-Themen 10
I Bitte Drngend hilfe Allgemeine Java-Themen 2
C Hilfe bei NoClassDefFoundError Allgemeine Java-Themen 14
C Hilfe bei einer Fehler meldung Allgemeine Java-Themen 3
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
C Hilfe bei einer Point Ausgabe Allgemeine Java-Themen 7
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
N Erste Schritte [HILFE] effizienter,leistungsfähigermbackground Pixelbot Allgemeine Java-Themen 5
A Hilfe gesucht Allgemeine Java-Themen 44
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
C Hilfe bei einer Fehlermeldung Allgemeine Java-Themen 5
C Hilfe bei MalformedURLException Allgemeine Java-Themen 7
D Baum zeichnen hilfe Allgemeine Java-Themen 4
M Hilfe bei parseInt Allgemeine Java-Themen 4
F Compiler-Fehler Hilfe bei Startup error Allgemeine Java-Themen 3
D Mit Hilfe von Java aus Excel-Sheet Zellen in neues Excel Dokument kopieren Allgemeine Java-Themen 3
F Socket NullPointerException Bitte um hilfe! Allgemeine Java-Themen 12
M Input/Output Java + OCR ? Erfahrungen und bitte um Hilfe Allgemeine Java-Themen 12
M Brauche Hilfe bei Quellcodeverständnis Allgemeine Java-Themen 4
B Zahlen ausgeben hilfe! Allgemeine Java-Themen 8
S Java USB dringend Hilfe! Allgemeine Java-Themen 6
zer0zer0 Best Practice apache common cli - optionen für hilfe ausblenden Allgemeine Java-Themen 5
F Bitte um Hilfe! Allgemeine Java-Themen 5
S Hilfe bei geeignetem Pattern (Decorierer) Allgemeine Java-Themen 2
D Brauche Hilfe bei Rechnung (Exponentiation) Allgemeine Java-Themen 12
F Brauche Hilfe bei Java Allgemeine Java-Themen 6
J Ein blutiger Anfänger braucht Hilfe Allgemeine Java-Themen 7
B Hilfe bei JUnit Test Allgemeine Java-Themen 1
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
B Dringend Hilfe gesucht für Struktogramm Allgemeine Java-Themen 11
C Brauche Hilfe mit Modulo Strategie Allgemeine Java-Themen 2
S Brauche Hilfe: Prüfungsaufgabe Java Allgemeine Java-Themen 8
J Probleme bei kompilieren ... Bitte um Hilfe Allgemeine Java-Themen 2
G java.exe in System 32. Hilfe!!! Allgemeine Java-Themen 8
M google plus java api - Anfänger sucht Hilfe Allgemeine Java-Themen 7
M Hilfe mit JOptionPane Allgemeine Java-Themen 2
I Hilfe: Klasse Vieleck Allgemeine Java-Themen 5
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
C Hilfe bei Adressbuch-Programmierung, wie am Besten mit JList implementieren Allgemeine Java-Themen 2
S Hilfe bei der Cosinusapproximation Allgemeine Java-Themen 10
K Arraylist Hilfe Allgemeine Java-Themen 13
K Hilfe Felder Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben