Hab ein Problem mit Lejos (Java basierende programmiersprache von Lego), mein Problem ist aber Java abhängig. (nicht wundern wegen den komischen Methodennamen).
also mein Problem ist ganz am Ende vom Programm in der 10 und 14 Linie VON HINTEN, da sind 2 Methoden durchlauf() und justieren(), der Compiler bringt folgende Fehlermeldung:
non-static method justieren() cannot be referenced from a static context
non-static method durchlauf() cannot be referenced from a static context
Kann mir jemand helfen evtl. mein Programm verbessern; das Programm ist echt wichtig bitte bitte helft mir.
Hier jetzt aber das Programm:
import josx.platform.rcx.*; // Bibliothek einbinden
public class Robo2
{
// ********************
// * *
// * Unterprogramme *
// * *
// ********************
// *********************************************
// * Geschwindigkeiten der Motoren festlegen *
// *********************************************
// Geschwindigkeit Maximal
int max = 7;
// Geschwindigkeit Minimal
int min = 3;
// Geschwindigkeit Auslösen
int arm = 5;
// *******************************
// * Werte IR Sensoren ermitteln *
// *******************************
int border = 0; // Grenzwert Linie/Untergrund wird später ermittelt
// Lese Werte für Linie aus
int getEyeValueLinks()
{
return Sensor.S1.readRawValue();
}
int getEyeValueRechts()
{
return Sensor.S3.readRawValue();
}
// Werte für die Linien-/Bodenerkennung ermitteln:
private void justieren()
{
// Programm ermittelt Helligkeitswert Untergrund wenn „View“ gedrückt
TextLCD.print(„floor“); sleep(500);
TextLCD.print(„while“); sleep(500);
TextLCD.print(„VIEW“);
Sound.beep();
while(!Button.VIEW.isPressed());
int floor=0;
while (Button.VIEW.isPressed())
floor = Math.max(getEyeValueLinks(),floor);
// Helligkeitswert der Linie ermitteln wenn „View“ gedrückt
TextLCD.print(„line“); sleep(500);
TextLCD.print(„while“); sleep(500);
TextLCD.print(„VIEW“);
Sound.beep();
while(!Button.VIEW.isPressed());
int line = floor;
while (Button.VIEW.isPressed())
line = Math.max(getEyeValueLinks(),line);
// Grenzwert zur Unterscheidung errechnen
border = (4*floor + line) / 5;
LCD.showNumber(border);
Sound.beepSequence();
sleep(1000);
}
// **********************************
// * Position zur Linie ermitteln *
// **********************************
// noch auf der Linie?
boolean online()
{
boolean on = (getEyeValueLinks() > border) && (getEyeValueRechts() > border);
return on;
}
// Links neben der Linie?
boolean linksOff()
{
boolean linksOff = getEyeValueLinks()
