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:
den Name der erkannten Farbe aufs LCD schreiben kann. Dazu habe ich folgenden Code:
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.
Java:
LCD.drawString(ColorSensor.ColorName, 0, 6);
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;
}
}
}
}
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.