Programmieren – die besten Beiträge

Java : Warum wartet der Scanner nicht auf meine Eingabe?

Hallo,

Gebt mal folgenden Code bei euch ein und startet :

package Lernen;

import java.util.Arrays;
import java.util.Scanner;

public class CarSeller {

    int rColor = (int)(Math.random()*9);
    int color;
    int ps;
    int mark;
    String color2;
    String ps2;
    String mark2;
    String[] colorArray = new String[10];

    public void price(int color, int ps, int mark) {
        this.color = color;
        this.ps = ps;
        this.mark = mark;
    }

    public int RandomColor() {
        System.out.println(colorArray[rColor]);
        return 1;
    }

    public static void main(String[] args) {
        CarSeller acess = new CarSeller();
        acess.colorArray[0] = "Black";
        acess.colorArray[1] = "Green";
        acess.colorArray[2] = "Red";
        acess.colorArray[3] = "Orange";
        acess.colorArray[4] = "Blue";
        acess.colorArray[5] = "Cyan";
        acess.colorArray[6] = "White";
        acess.colorArray[7] = "Brown";
        acess.colorArray[8] = "Yellow";
        acess.colorArray[9] = "Grey";

        System.out.println("Hey, what do you want to do ? | BUYCAR | DRIVE | GOINHOUSE | BUYPLOTS | REFUEL | QUIT |");
        Scanner start = new Scanner(System.in);

        if (start.equals("BUYCAR")) {
            System.out.println("What car do you want to buy? | Lamborghini | Porsche | VW | Mercedes | BMW  | Tesla | CANCEL|");
            Scanner a = new Scanner(System.in);
            
            if (a.equals("Lamborghini")) {
                
                  CarSeller Lamborghini = new CarSeller();
                  System.out.println("Which color do you want ? | Choose one ");
                  System.out.println(Arrays.toString(acess.colorArray));
                  System.out.println("Or do you want a random color ? | Random");
                  Scanner colorchoose = new Scanner(System.in);
                  
                  if (colorchoose.equals("Random")) {
                      System.out.println(acess.RandomColor());
                  }


            }

        }
    }

}

Bei mir wartet der irgendwie nicht auf eine Eingabe... Wie behebe ich diesen Fehler ?

PC, Computer, Technik, IT, programmieren, Java, Informatik

Signalverarbeitung mit dem Mikrocontroller?

Schönen Sonntag euch!

Ich hätte eine Frage. Hänge leider schon seit einer Woche dran und suche dringend nach einer Antwort. Ich bin dabei drahtlos per Funk(433mhz) Signale von einem Mikrocontroller (Sender) zu einem anderen Mikrocontroller (Empfänger) zu versenden. Das Senden klappt wunderbar und ich habe alles per Oszi überprüft, das Empfangen jedoch ist eine Katastrophe.
Das Problem, ich kann keine Libaries von Arduino und co verwenden, muss also alles selber in C schreiben. Wenn etwas gesendet wird ist das Signal High, wenn nicht dann Low(Ist also ein Rechtecksignal).
Hier mein Pseudocode:

(Der Sender sendet dauerhaft 4100uS lange High Signale(senden) mit kurzen low unterbrechungen(nicht senden)

In einer Endlosschleife starte ich zuerst einen Timer der in mikroSekunden zählt

jetzt kommt eine leere While Schleife die solange nichts macht wie das Signal High ist(es wird etwas empfangen)

wenn die Whileschleife vorbei ist kommt eine if, die wenn der timer größer 4000 und kleiner 4200 ist( das eigentliche Signal ist ja 4100 uS) . Wenn diese if zutrifft soll ein Licht angehen.

Leider funktioniert es nicht und das Licht geht ab und zu mal an machmal aber auch nicht. wäre cool könnte jemand helfen und mir sagen was ich falsch mache oder einen anderen Vorschlag hat.

Danke im Vorraus!

Computer, Technik, programmieren, Elektrotechnik, Mikrocontroller, Datenverarbeitung, Informatik, Technologie, Signal

Meistgelesene Beiträge zum Thema Programmieren