Programmieren – die neusten Beiträge

Verkapselung von Klasse?

Hallo Coder-Freunde,

meine Freundin hat in einer Übung für die Uni folgende Java-Aufgabe zu lösen:

// ähnlich java.io.File.listFiles(), gibt aber nicht ein Array sondern ein Filez-Objekt zurück, das die File-Objekte des Directory als List<File> verkapselt

public static Filez create(File directory);

Folgendes haben wir bisher gemacht:

class Filez {

public Filez() {

this.list = new ArrayList<File>();

}

public static Filez create(File directory) { // File directory ist ein Objekt mit dem Pfad zum zu durchsuchenden Verzeichnis.

//List<File> list = new ArrayList<File>();

File[] filesAndDirs = directory.listFiles();

// Daten aus Array werden zu Liste hinzugefügt

for(int i = 0; i < filesAndDirs.length; i++) {

list.add(i, filesAndDirs[i]);

System.out.println(i + ": " + list.get(i));

}

return XXXXX; // Hier hängt's... wie soll eine Liste als Filez-Objekt zurückgegeben werden?

}

}

Mir persönlich erschließt sich die Formulierung "[... gibt ein] Filez-Objekt zurück, das die File-Objekte des Directory als List<File> verkapselt" nicht. Wie soll eine Methode als Returnwert ein Filez-Objekt vom Typ list zurückgeben?

Wir stehen hier auf dem Schlauch, bitte Hilfe!

UPDATE:

Antwort, falls jemand ein ähnliches Problem hat: Konstruktor erstellen!

public Filez() {} oder public Filez(List<File> attrList) { this.list = attrList; }

Return von create() ist dann das gesamte Objekt.

Computer, programmieren, Java, OOP Programmierung

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

Wie überprüfe ich mit JS oder PHP welche HTML Checkbox in einem Form ausgewählt wurde, bevor es abgesendet wurde?

Wie in der Langen Frage geschrieben, ich suche Code der es mir ermöglicht über Java Skript oder PHP auszuwerten welche Checkbox geklickt wurde.

            <input type="checkbox" class="radio-multichoice" name="abteilung:1">

            <label for="frei" align="center"><strong> Abteilung FF </strong></label><br>

            <input type="checkbox" class="radio-multichoice" name="abteilung:1">

            <label for="workS" align="center"><strong> Abteilung W </strong></label><br>

            <input type="checkbox" class="radio-multichoice" name="abteilung:1">

            <label for="MO" align="center"><strong> Abteilung O </strong></label><br>

Im allgemeinen Nutze ich bereits die Funktion in JS damit der User nur ein Element auswählen kann. Doch nun bräuchte ich eine Direkte Ausgabe je nachdem welches Element ausgewählt wurde. D.h. Ich suche eine Möglichkeit auszuwerten welches angeklickt wurde und dann möchte ich etwas ausführen über if, eles if, else.

Falls es helfen sollte hier habe ich die Begrenzung Methode für das anklicken.

   //Dieser Code überprüft ob drei Elemente ausgewählt wurden. Wenn dies der fall ist dann werden alle weiteren Element Blockiert.

   const groups = [...document.getElementsByClassName("radio-multichoice")].reduce((result, element) => {

 result[element.name] = result[element.name] || [];

 result[element.name].push(element);

 return result;

}, {});

for (const [name, elements] of Object.entries(groups)) {

 const limit = name.split(":")[name.split(":").length-1];

 for(const el of elements) {

  el.addEventListener("change", e => {

   if (elements.filter(x => x.checked).length > limit) {

     e.target.checked = false;

   }

  });

 }

}

Könnte mir dabei jemand Helfen, falls ihr nachfragen habt weil ich es mal wieder nicht richtig erklären konnte stellt bitte eine Nachfrage.

Computer, HTML, Webseite, programmieren, JavaScript, PHP, Webentwicklung

Android Studio: Wieso verändern die Elemente ihre Position?

Hey,

ich habe da ein kleines Problem. Auf dem PC sind alle Elemente dort, wo sie sein sollten, aber wenn ich die App auf dem Handy ausführe, sind die Elemente irgendwie bzw. irgendwo platziert. Kann mir jemand vielleicht sagen, woran es liegen könnte?

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@color/black_shade_1"
  tools:context=".MainActivity">
  <ImageView 
    android:layout_width="152dp"
    android:layout_height="185dp" 
    app:srcCompat="@drawable/iconqrlogo" 
    android:id="@+id/imageView"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginTop="32dp"
    app:layout_constraintHorizontal_bias="0.498" />
  <ProgressBar
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/progressBar"
    android:visibility="visible"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.498"
    android:layout_marginTop="56dp"
    app:layout_constraintTop_toBottomOf="@+id/imageView" />
  <Button
    android:text="@string/generateButton"
    android:layout_width="250dp"
    android:layout_height="60dp"
    android:id="@+id/generateQrCode"
    app:backgroundTint="@color/yellow"
    android:textColor="#000000"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintHorizontal_bias="0.496"
    app:layout_constraintBottom_toBottomOf="parent"
    android:layout_marginBottom="160dp" />
  <Button
    android:text="@string/scanCode"
    android:layout_width="250dp"
    android:layout_height="60dp"
    android:id="@+id/scanQrCode"
    app:backgroundTint="@color/yellow"
    android:textColor="#000000"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/progressBar"
    android:layout_marginTop="48dp"
    app:layout_constraintHorizontal_bias="0.503"
    app:layout_constraintBottom_toTopOf="@+id/generateQrCode"
    app:layout_constraintVertical_bias="0.061" />
</androidx.constraintlayout.widget.ConstraintLayout>
Bild zum Beitrag
Computer, App, programmieren, Java, Android, Android App, Android Studio

Meistgelesene Beiträge zum Thema Programmieren