Html und JavaScript Code?

Hallo zusammen,

ich möchte für eine Webseite ein Widget erstellen, das die nächsten Veranstaltungen anzeigen soll. Diese werden in dem Code dann hinzugefügt. Auf dem Widget welches auf der Webseite angezeigt wird dürfen aber immer nur zwei Veranstaltungen gleichzeitig dargestellt werden. Das Datum der Veranstaltungen soll immer mit dem aktuellen Datum verglichen werden. Ist das Datum der ganz oben also an erster Stelle stehenden Veranstaltung seit einem Tag überschritten soll diese gesamte Veranstaltung ausgeblendet werden. Die darunter stehende also an zweiter Stelle befindliche Veranstaltung rückt dann an erste Stelle und an Zweite Stelle rückt dann eine bisher noch nicht angezeigt Veranstaltung. Immer so das halt nur zwei Veranstaltungen gleichzeitig angezeigt werden. Das Datum vergleichen und ein/ausblenden und neu ordnen der Veranstaltungen funktioniert bei meinem Code noch nicht so ganz. Kann mir dabei bitte jemand helfen. Wenn das möglich ist am besten den Code so anpassen damit diese Funktionen so funktionieren.

Mit freundlichen Grüßen

Tim

Hier ist mein aktueller Code davon:

<!DOCTYPE html>

<html>

<head>

  <style>

    /* Stil für das Widget */

    .event-widget {

      border: 1px solid #ccc;

      padding: 6px;

      max-width: 215px; /* Breiteres Widget */

      background-color: #f7f7f7;

    }

    /* Stil für die Hellschwarze Hauptüberschrift */

    .event-widget h3 {

      color: #454545; /* Hellschwarz */

      font-size: 18px; /* Kleinere Schriftgröße für die Hauptüberschrift */

      text-align: center; /* Zentriert den Text */

      margin: 0; /* Entfernt den oberen und unteren Abstand der Überschrift */

    }

    /* Stil für die einzelnen Veranstaltungen */

    .event-widget ul li {

      margin-bottom: 10px; /* Fügt einen Abstand zwischen den Veranstaltungen hinzu */

      padding-bottom: 5px; /* Fügt zusätzlichen Abstand zwischen dem Trennungsstrich und dem Text hinzu */

    }

    /* Fügt einen Trennungsstrich zwischen den Veranstaltungen hinzu */

    .event-item + .event-item {

      border-top: 1px solid #ccc;

      margin-top: 10px;

      padding-top: 5px;

    }

    /* Stil für die übrigen Texte */

    .event-title {

      color: #8B0000; /* Weinrot */

      font-size: 15px; /* Kleinere Schriftgröße für den übrigen Text */

    }

    /* Stil für die Uhrzeit */

    .event-time {

      font-weight: bold;

      font-size: 12px; /* Kleinere Schriftgröße */

    }

  </style>

</head>

<body>

  <div class="event-widget">

    <h3>Nächste Veranstaltungen</h3>

    <ul id="event-list">

      <!-- Hier kannst du Veranstaltungen hinzufügen -->

      <li class="event-item">

        <strong class="event-title">Seniorentreff mit Kaffee und Kuchen:</strong>

        <br>

        Datum: 2023-11-09

        <br>

        Zeit: 14:30 - 16:00 Uhr

        <br>

        Ort: Feuerwehrhaus

      </li>

      <li class="event-item">

        <strong class="event-title">Volkstrauertag:</strong>

        <br>

        Datum: 2023-11-19

        <br>

        Zeit: 15:00 - 16:00 Uhr

        <br>

        Ort: Am Ehrenmal Ahrenshöft

      </li>

      <li class="event-item">

        <strong class="event-title">Seniorentreff mit Kaffee und Kuchen:</strong>

        <br>

        Datum: 2023-12-14

        <br>

        Zeit: 14:30 - 16:00 Uhr

        <br>

        Ort: Feuerwehrhaus

      </li>

      <!-- Weitere Veranstaltungen hier hinzufügen -->

    </ul>

  </div>

  <script>

    function updateEvents() {

      const eventList = document.getElementById("event-list");

      const events = eventList.getElementsByClassName("event-item");

      const currentDate = new Date();

      const displayedEvents = 2;

      for (let i = 0; i < events.length; i++) {

        const eventDateString = events[i].querySelector("br:nth-child(2)").textContent.replace("Datum: ", "");

        const eventDate = new Date(eventDateString);

        // Überprüfe, ob das Datum um einen Tag überschritten ist

        if (eventDate < currentDate) {

          events[i].style.display = "none"; // Verstecke vergangene Veranstaltungen

        } else {

          events[i].style.display = "block"; // Zeige zukünftige Veranstaltungen

        }

        // Überprüfe, ob die maximale Anzahl von angezeigten Veranstaltungen erreicht ist

        if (i >= displayedEvents) {

          events[i].style.display = "none";

        }

      }

    }

    // Aktualisiere die Veranstaltungen beim Laden der Seite

    document.addEventListener("DOMContentLoaded", updateEvents);

  </script>

</body>

</html>

HTML, Webseite, JavaScript, Code, Programmiersprache, Webentwicklung
Hilfe bei Economy System?

Hallo Leute. ich habe angefangen ein Economy System zu schreiben aber egal was ich mache wird die Config nicht ausgelesen. Ich finde den Fehler einfach nicht. Vielleicht könnte mir ja jemand der bisschen mehr Ahnung hat mir helfen was das Problem ist. Ich benutze die 1.20.2.

habe den Code mal eingefügt.

package gems;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

import org.bukkit.configuration.file.YamlConfiguration;

public class gems_config {
    
    public static Integer getGems(UUID id) {
        File file = new File("plugins//MysticEcon//" +id+ ".gems.yml" );
        YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file); 
        int usergems = cfg.getInt(id+ ".gems.yml");
        return usergems;
    }
    
    public static void addGems(UUID id, int amount ) {
        File file = new File("plugins//MysticEcon//" +id+ ".gems.yml" );
        YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
        int usergems = cfg.getInt(id+ ".gems.yml");
        usergems+=amount;
        cfg.set(id+ ".gems.yml", usergems);
        try {
            cfg.save(file);
        }catch(IOException ioex){
            
        }
        
    }
    
    
    public static void removeGems(UUID id, int amount ) {
        File file = new File("plugins//MysticEcon//" +id+ ".gems.yml" );
        YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
        int usergems = cfg.getInt(id+ ".gems.yml");
        usergems-=amount;
        cfg.set(id+ ".gems.yml", usergems);
        try {
            cfg.save(file);
        }catch(IOException ioex){
            
        }
        
    }
    
    public static boolean hasEnoughtGems(UUID id, int amount) {
        File file = new File("plugins//MysticEcon//" +id+ ".gems.yml" );
        YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
        int usergems = cfg.getInt(id+ ".gems.yml");
        if(usergems >= amount) {
            return true;
        }else {
            return false;
        }
    }
    
    public static void EconConfig(UUID id) {
        File ordner = new File("plugins//MysticEcon");
        File file = new File("plugins//MysticEcon//" +id+".gems.yml"); 
        YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
        
        if(!ordner.exists()) {
            ordner.mkdir();
        }
        if(!file.exists()) {
            try {
                file.createNewFile();
                cfg.set("Gems", 5000);
                cfg.save(file);
            }catch(IOException e) {
            }
        }
    }

}
Java, Programmiersprache
Findet ihr den Taschenrechner gut?

Hey ich habe gerade einfach spontan nach paar Videos Java lernen zum ersten mal mein eigenes Programm erstellen wollen und hab mal versucht einen Taschenrechner der + - / * ausführen kann zu machen, findet ihr den Code ok?

import java.util.Scanner;
public class Calc {
    public static void main (String[] args){
        Scanner scan = new Scanner(System.in);
        int zahl;
        int operation;
        int zahl2;
        int ergebnis = 0;
        int wiederholung = 1;

        while (wiederholung == 1) {

            System.out.println("Tippen sie eine Zahl ein");
            zahl = scan.nextInt();
            System.out.println("Welche Operation möchten sie durchführen? - (0) + (1) / (2) * (3)");
            operation = scan.nextInt();
            if (operation == 0) {
                System.out.println("Mit welcher Zahl möchten sie subtrahieren?");
            } else if (operation == 1) {
                System.out.println("Mit welcher Zahl möchten sie addieren?");
            } else if (operation == 2) {
                System.out.println("Mit welcher Zahl möchten sie dividieren?");
            } else if (operation == 3) {
                System.out.println("Mit welcher Zahl möchten sie multiplizieren?");
            }
            zahl2 = scan.nextInt();
            if (operation == 0) {
                ergebnis = zahl - zahl2;
            } else if (operation == 1) {
                ergebnis = zahl + zahl2;
            } else if (operation == 2) {
                ergebnis = zahl / zahl2;
            } else if (operation == 3) {
                ergebnis = zahl * zahl2;
            }
            System.out.println("Hier ist ihr Ergebnis: " + ergebnis + " ...möchten sie weitere Berechnungen durchführen? ja (1) nein (2)");
            wiederholung = scan.nextInt();
            if (wiederholung == 2) {
                System.out.println("Programm wird beendet");
                break;
            } else if (wiederholung == 1) {
                System.out.println("Super!");
            }
        }
Computer, Java, Programmiersprache
Ubuntu: Wie mache ich das?

Ich nutze Ubuntu seit einer Woche(keine Programmierkenntnisse)
Ich möchte mit Python ein Programm entwickeln, das mir das leben etwas erleichtert. Ich möchte gerne als erstes meinen Yubikey als Passwortersatz auf meinem Computer installieren. Das Problem ist das ich ja um Änderungen am system vornehmen möchte mich im terminal befinden muss. Wie kann ich trotzdem eine GUI programmieren die mich durch den installationsprozess führt? Es muss doch möglich sein das man ein Programm entwickeln kann das eine GUI hat und trotzdem Zugriff auf das system hat oder nicht?

Zum Beispiel kann man einstellen ob der Yubikey als Passwortersatz oder als zweiter Faktor dienen soll. Das will ich halt wie bei einer .exe Datei schön nach einander in einem installationsguide haben. Ich habe das zu einem gewissen grad auch geschafft und zwar mit einem shellskript uund zenity. Aber sobald es ums eingemachte geht funktioniert es nicht mehr. Und zwar sobald ich den Pin für den Yubikey eingeben soll schlließt sich das Zenityfenster und ich bin im Terminal wo ich dann den Pin dort eingeben soll. Das Passwort vorher das hat funktioniert aber beim Pin eben nicht mehr. Dann kam ich auf die Idee ok machste das eben in Python. Python bietet aber nicht die zugriffsrechte wie ein shellskript. Was nun? Ich möchte auch andere Programme dann in den Installer einfügen so dass ich im prinzip sowas habe wie bei der Einrichtung des Systems am anfang wo man schritt für schritt das system konfiguriert.

Hier ist die Anleitung zu der ich das Programm schreiben möchte: https://wiki.ubuntuusers.de/Howto/Yubikey_anstelle_von_Passw%C3%B6rtern_verwenden/

App, Linux, Webseite, Ubuntu, Code, Programmiersprache, Python, Python 3
Python Programmierungsaufgabe?

Was ist der hier der fehler

Ich suche print()-Aufrufe, die jeweils bestimmte Teile der Eingabesequenz ausgeben. Die print()-Aufrufe können untereinander geschrieben werden (Achtung, die Reihenfolgeist wichtig). Da Indexing und Slicing sowohl für Strings als auch für Listen möglich ist, kann der gleiche Pythoncode alle Tests abdecken.

Die Ausgaben sollen in der folgenden Weise umgesetzt werden:

1. Das letzte Element soll mithilfe von Indexing ausgewählt werden.

2. Die Sequenz soll mithilfe von Slicing so reduziert werden, dass das erste und letzte Element wegfallen und nur die Mitte übrig bleibt.

3. Die Sequenz soll mithilfe von Slicing so reduziert werden, dass nur die zweite Hälfte übrig bleibt. Bei Sequenzen mit gerader Anzahl von Elementen soll genau die zweite Hälfte übrig sein, bei Sequenzen mit ungerader Anzahl von Elementen soll das Element in der Mitte mit ausgegeben werden.

4. Die Sequenz soll mithilfe von Indexing mit negativen Zahlen so reduziert werden, dass nur die letzten vier Elemente übrig bleiben.

5. Die Sequenz soll abhängig von der Länge reduziert werden: Sequenzen mit fünf oder weniger Elementen sollen ohne weiteres ausgegeben werden, aus Sequenzen mit genau acht Elementen sollen zwei Elementen am Anfang und zwei Elementen am Ende wegfallen, bei allen anderen Sequenzen sollen die letzten vier Elementen ausgegeben werden.

beispiel

Test Resultat

eingabe = "ABCDE"

F

BCD

CDE

BCDE

ABCDE

eingabe = "FGHIJKLMN"

N

GHIJKLM

JKLMN

KLMN

KLMN

eingabe = [1, 2, 3, 4, 5, 6, 7, 8]

8

[2, 3, 4, 5, 6, 7]

[5, 6, 7, 8]

[5, 6, 7, 8]

[3, 4, 5, 6]

Bild zum Beitrag
Programmiersprache, Python
TypeError bei Python-Programm?

Ich habe folgendes Programm:

import itertools

# Daten aus der Tabelle einlesen
data = []
with open('tour1.txt', 'r') as file:
    for line in file:
        parts = line.strip().split(',')
        data.append((parts[0], int(parts[1]), parts[2] == 'X'))

# Essentielle Tourpunkte auswählen
essential_points = [place for place, year, is_essential in data if is_essential]

# Funktion zur Berechnung der Teiltour
def calculate_tour(places, essential_places):
    min_distance = float('inf')
    min_tour = None

    for perm in itertools.permutations(essential_places):
        tour = [places[0][0]] + [places[i][0] for i in perm] + [places[0][0]]
        total_distance = 0

        for i in range(len(tour) - 1):
            total_distance += abs([x[1] for x in places if x[0] == tour[i]][0] - [x[1] for x in places if x[0] == tour[i + 1]][0])

        if total_distance < min_distance:
            min_distance = total_distance
            min_tour = tour

    return min_tour

# Sortieren der Orte nach ihrem Jahr
sorted_data = sorted(data, key=lambda x: x[1])

# Die Teiltour berechnen
shortest_tour = calculate_tour(sorted_data, essential_points)

# Ergebnis ausgeben
for point in shortest_tour:
    print(point, end=" -> ")
print(shortest_tour[0])  # Zum Startpunkt zurückkehren

Beim Ausführen wird mir folgender Fehler ausgegeben: TypeError: list indices must be integers or slices, not str

Die Textdatei ist nach dem Format "Brauerei,1613,X,0" (als Beispiel) aufgebaut.
Ich habe probiert das Problem durch ein voranstellen von Int() bei den Listen zu Lösen, was nicht funktioniert hat...
Gibt es eine andere Möglichkeit zur Lösung?

Vielen Dank!

Error, Programmiersprache, Python
Html Liste erzeugen aus Datei live?

Guten Abend Community,

ich habe eine Frage an die Programmierer und Entwickler unter euch. Und zwar würde ich gerne eine Liste erstellen mit allen Filmen die ich besonders gut fand und diese in einer Datei speichern. ich möchte eine Seite, die mir diese Liste anzeigt und die Möglichkeit haben, einen neuen Eintrag hinzuzufügen.

Die Grundlagen von html css und co hab ich schon etwas drauf. Ich würde eine Tabelle erstellen und diese wie auch immer mit den Daten füllen aus der Filmlisten-Datei. Ich würde ebenso eine form erstellen, wo ich bspw Titel, Genre und Bewertung eingeben und per button abschicken kann, damit der neue Eintrag in die Datei geschrieben wird.

Aus der Softwareentwicklung in Windows kenne ich für sowas das Ini Dateiformat. Den besten Vergleich dazu habe ich bisher in JSON gefunden. Zuerst habe ich es mit xml versucht, bin jedoch gescheitert und habe auch durch Google den Eindruck bekommen, dass es mit JSON wohl am Sinnvollsten wäre.

Ich hatte es geschafft Einträge aus der json Datei auszulesen, aber hab nicht rausbekommen wie ich sie modifiziere bzw hat nichts funktioniert. Nun frag ich mich gerade, macht das so alles eigentlich Sinn? Oder gibt es einen viel einfacheren Weg mein Ziel zu erreichen?

Wie würde ein erfahrener Entwickler da ran gehn?

Ich hab einen Webserver mit php und co. Root Zugriff habe ich nicht, falls das relevant ist.

HTML, Webseite, JavaScript, PHP, Programmiersprache, Webentwicklung, JSON
HTML Text nach Hintergrundbild?

Hallo,

ich muss gerade eine einfache Website als Hausaufgabe programmieren und stoße auf einige Schwierigkeiten.

Aktuell hab ich 4 Hauprprobleme:

  1. Meine Navigationslieste im header ist trotz text-align: center, nicht mittig
  2. Ich habe im footer "2023", "Impressum" und "Alex" stehen. Impressum ist dabei ein relativer Link zu einer extra Seite und die 2 anderen Wörter sind einfach nur Wörter. Ich habe es geschafft "2023" links und "Alex" rechts zu positionieren, aber ich kriege das Wort "Impressum" mit dem Link nicht verschoben. Es ist zwar einigermaßen mittig, aber ist im footer selbst zu weit oben und ich krieg es nicht nach unten verschoben
  3. Ich habe in css ein Hintergrundbild eingestellt (damit der ganze Bildschirm abgedeckt ist). Nun möchte ich es aber so gestalten, dass anfangs das Hintergrundbild zu sehen ist und erst wenn man runter scrollt, soll der Text nach dem Bild kommen, anstatt auf dem Bild selbst
  4. Mein footer bleibt fest in einer Position, nämlich kurz vor Ennde des Hintergrundbildes, heißt sobald ich scrollen würde, wäre mein footer mitten drin, anstatt ganz am Ende der Seite. Ich habe alle möglichen position tags versucht, aber irgendwie scheint es nicht zu funktionieren

Kennt sich hier jemand gut damit aus und kann mir dabei weiterhelfen?

Ich bedanke mich schonmal sehr im vorraus.

Grüße Alex

Bild zum Beitrag
Homepage, HTML, Webseite, programmieren, CSS, HTML5, Code, Programmiersprache, Webdesign, Webentwicklung
Website HTML und CSS Fehler?

Hallo,

ich soll als Hausaufgabe eine Website (nur HTML und CSS) programmieren (wir haben bis jetzt nur die Basics gemacht).

Ich habe nun die Grundstruktur in HTML so gemacht, wie ich es brauche und bin nun beim CSS Teil angekommen, welcher mir etwas Kopfschmerzen bereitet.

Ich habe mal Screenshots vom bisherigen Code eingefügt (Die Website soll laut Lehrer ganz einfach sein, das Impressum muss nur einen Beispieltext enthalten und den Code für den footer aus der Landingpage habe ich noch nicht an die anderen Seiten angepasst, da ich noch mit CSS am experimentieren war).

Falls der Code an sich besser weiterhilft, habe ich hier noch den Dropbox Link:
https://www.dropbox.com/scl/fi/fgwyg3w7m4hfqdnbl3f3n/Website.zip?rlkey=1ea3d4quzggbn8xgnk9x9gvk3&dl=0

Nun habe ich folgende Probleme/Dinge, die ich auf der Website haben möchte, aber nicht hinbekomme:

  • Ich möchte einen festen Header haben (wie der auf gutefrage), bei welchem die anderen Seiten mittig angeordnet sind
  • Der footer soll wie bei Amazon ganz unten sein und auch in einem farbigen Kasten, welcher sich über den ganzen Bildschirm zieht
  • Die Texte im Footer sollen einmal links(2023), mittig(impressum) und rechts(Namen) ausgerichtet sein (irgendwie konnte ich den Link zum Impressum nicht verschieben)
  • Die Seite muss nicht 100% responsible sein, sondern soll sich nur an verschiedene Browser anpassen (Laut Lehrer mit Hilfe von prozentualen Werten anstatt Pixeln)
  • Auf der Landingpage möchte ich das Hintergrundbild haben und der Text (welchen ich noch hinzufügen muss) soll erst nach dem Bild kommen, wenn man runter scrollt
  • Auf der Impressum Seite soll der Beispieltext zum Uhrheberrecht nicht von ganz links nach ganz rechts auf dem Bildschirm gehen, sondern nur bis zu etwa der Mitte und dann einen Zeilenumbruch (soll sich nicht verschieben, wenn ich es mit anderem Browser benutze)

Ich habe schon selbst versucht, die oben genannten Dinge irgendwie zu fixen, aber entweder klappt es nicht oder meine Website stellt sich einmal auf den Kopf. Da wir auch erst die Basics in CSS hatten, weiß ich leider nicht mehr, als das, was ich schon gemacht habe.

Es wäre sehr hilfreich, wenn mir einer, der sich damit auskennt, weiterhelfen könnte und mir erklären kann, wie ich die oben genannten Kriterien umsetzen kann.

Ich bedanke mich schonmal sehr bei euch.

Grüße Alex

Bild zum Beitrag
HTML, Webseite, programmieren, CSS, HTML5, Code, Informatik, Programmiersprache, Webdesign, Webentwicklung, Website Design
Wie kann ich die Fehler von PHP einzeln in der Unity-Konsole ausgeben?

Hallo,

wie schaffe ich es, die Fehler zu splitten und wenn es z.B. zwei Fehler sind, beide einzeln in Unity in der Konsole auszugeben?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
using TMPro;
using System;
using Newtonsoft.Json;

public class RegisterUser : MonoBehaviour
{
  public TMP_InputField EmailInput;
  public TMP_InputField UsernameInput;
  public TMP_InputField PasswordInput;

  private void Update()
  {
  }

  public void RegisterButton()
  {
    StartCoroutine(Register(EmailInput.text, UsernameInput.text, PasswordInput.text));
  }

  IEnumerator Register(string email, string username, string password)
  {
    string url = "geheim";

    WWWForm form = new WWWForm();
    form.AddField("email", email);
    form.AddField("username", username);
    form.AddField("password", password);

    using (UnityWebRequest www = UnityWebRequest.Post(url, form))
    {
      yield return www.SendWebRequest();

      if www.result != UnityWebRequest.Result.Success)
      {
        Debug.Log("Error: " + www.error);
      }
      else
      {
        // hier Fehler checken
      }
    }
  }
}

Meine PHP if-Abfrage, wo mögliche Fehler ermittelt werden:

if (blablazeug) {
  if ($resultemail->num_rows > 0) {
    echo  "1"; // errorcode for already used email
  }

  if ($resultuser->num_rows > 0) {
    echo  "2"; // error code for already used username
  }

  if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo  "3"; // error code for wrong email
  }

  if (strlen($username) < 4 || strlen($username) > 10 || !preg_match('/^[a-zA-Z0-9]+$/', $username)) {
    echo  "4"; // error code for wrong username conditions
  }

  if (strlen($password) < 6 || strlen($password) > 20 || !preg_match('/[0-9]+/', $password) || !preg_match('/[A-Z]+/', $password) || !preg_match('/[a-z]+/', $password) || !preg_match('/[.,!@#$%^&*()\-_=+{};:?]+/', $password)) {
    echo "5"; // error code for wrong password conditions
  }

  die();
}
C Sharp, Error, PHP, Programmiersprache, Visual Studio, Unity
Java / Schiffe versenken: Wie kann ich dafür sorgen, dass die Schiffe nur horizontal und vertikal platziert werden können?

Ich habe diesen Schiffe-versenken-Code geschrieben. Jetzt weiß ich allerdings nicht, wie ich dafür sorgen kann, dass die Schiffe nur horizontal und vertikal plaziert werden können. Das soll durch if-Verzweigungen geregelt werden.

import javax.swing.JOptionPane;

public class Schiffeversenken {
  public static void main(String[] args) {
    // Spielfelderstellung
    int größefeld = Integer.parseInt(JOptionPane.showInputDialog("Wie groß soll das Spielfeld sein?"));
    String[][] spielerarray = new String[größefeld][größefeld];

    // Spielfeld leere Felder Befüllung
    for (int i = 0; i < spielerarray.length; i++) {
      for (int j = 0; j < spielerarray.length; j++) {
        spielerarray[i][j] = "o";
      }
    }

    // Anzahl Schiffe
    int anzahlschiffe = Integer.parseInt(JOptionPane.showInputDialog("Wie viele Schiffe hast du?"));

    for (int i = 0; i < anzahlschiffe; i++) {
      // Größe des Schiffes
      int größeschiff = Integer.parseInt(JOptionPane.showInputDialog("Wie groß ist dein " + (i + 1) + " Schiff?"));

      for (int j = 0; j < größeschiff; j++) {
        // Koordinateneingabe
        JOptionPane.showMessageDialog(null, "Wähle Koordinaten von 0-" + (spielerarray.length - 1));
        int koordinate1;
        int koordinate2;
        koordinate1 = Integer.parseInt(JOptionPane.showInputDialog("Was ist die 1 Koordinate des "+ (j + 1) + " Teil deines Schiffs?"));
        koordinate2 = Integer.parseInt(JOptionPane.showInputDialog("Was ist die 2 Koordinate des "+ (j + 1) + " Teil deines Schiffs?"));
        spielerarray[koordinate1][koordinate2] = "x";
      }
    }

    // Ausgabe Spielfeld
    for (int i = 0; i < spielerarray.length; i++) {
      for (int x = 0; x < spielerarray.length; x++) {
        System.out.print(spielerarray[x][i] + " ");
      }

      System.out.println();
    }
  }
}
Java, Array, Programmiersprache, Algorithmus
HTML und CSS Frage?

Hallo,

ich möchte die Grüne und gelbe Kärtchen im zweiten <section> nach oben in die MITTE schieben. Jedoch hakt es bisschen bei mir. Zudem müssen wir nur Flexbox benutzen das heisst kein margin oder position etc....

HTML_CODE:

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Flexbox</title>

  <link rel="stylesheet" href="../CSS/style.css">

</head>

<body>

  <header>

    <div class="layout2">

 <nav>

    <div class="container">

      <ul>

        <li>

          <a class="item1" href="#">LOGO</a>

          <a class="item" href="#">Menu 1</a>

          <a class="item" href="#">Menu 2</a>

          <a class="item" href="#">Menu 3</a>

          <a class="item2" href="#">Button</a>

        </li>

      </ul>

    </div>

  </nav>

 

</div>

</header>

<main>

  <div class="layout4">

  <section>

   

 

    <div class="laayout2">

     

      <div class="brownhelp"><div class="brownbox"></div></div>

      <div class="sectionone">

        <div class="content1">

          <div class="border"></div>

    <div class="border1"></div>

    <div class="border2"></div>

    <div class="border3"></div>

    <div class="border4"></div>

        </div>

  </div>

</div>

</section>

<section>

    <div class="laayout3">

  <div class="sectiontwo">

      <div class="content2">

        <div class="box"></div>

        <div class="box2"></div>

        <div class="box3"></div>

        <div class="box4"></div>

       

      </div>

    </div>

    </div>

</section>

</div>

</main>

</body>

</html>

CSS_CODE:

*{

  margin: 0;

  box-sizing: border-box;

}

header {

  background-color: #cae1fc;;

}

.layout2 {

  display: flex;

  align-items: center;

  justify-content: space-around;

  flex-direction: column;

}

.container {

  height: 150px;

  width: 1425px;

  background-color:rgb(80, 98, 104);

  display: flex;

  justify-content: space-around;

  align-items: center;

}

div ul {

  width: 100%;

}

div li {

  display: flex;

   justify-content: space-around;

   align-items:center;

  list-style: none;

}

.item {

  background-color: rgb(39, 185, 171);

  width: 120px;

  height: 50px;

  color: #fff;

  font-weight: bold;

  font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;

  font-size: large;

  display: flex;

  justify-content: center;

  flex-direction: column;

  text-align: center;

  text-decoration: none;

 

}

.item1 {

  background-color: rgb(193, 67, 67);

  width: 115px;

  height: 50px;

  color: #fff;

  font-weight: bold;

  font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;

  font-size: large;

  display: flex;

  justify-content: center;

  flex-direction: column;

  text-align: center;

  text-decoration: none;

}

.item2 {

  background-color: rgb(112, 29, 189);

  width: 80px;

  height: 90px;

  color: #fff;

  font-weight: bold;

  font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;

  font-size: small;

  display: flex;

  text-align: center;

  justify-content: center;

  flex-direction: column;

  text-decoration: none;

}

.layout2 > nav {

  height: 100vh;

}

nav {

  display: flex;

  align-items: flex-end;

  max-height: 170px;

}

/**/

.layout4 {

  background-color: #cae1fc;

}

.laayout2 {

  height: 1000px;

  display: flex;

  justify-content:space-around;

}

.sectionone {

  display: flex;

  justify-content: center;

  align-items: flex-end;

  max-height: 345px;

  width: 270px;

 

}

.content1 {

  display: flex;

  flex-direction: column;

  align-items: flex-end;

  gap: 20px;

  background-color: #cae1fc;;

}

.border {

  background-color: #fff;

  width: 225px;

  height: 45px;

 

}

.border1 {

  background-color: #fff;

  width: 225px;

  height: 45px;

}

.border2 {

  background-color: #fff;

  width: 225px;

  height: 45px;

 

}

.border3 {

  background-color: #fff;

  width: 225px;

  height: 45px;

 

}

.border4 {

  background-color: #fff;

  width: 225px;

  height: 45px;

}

.brownhelp {

  display: flex;

  align-items: flex-end;

  justify-content: center;

  max-height: 345px;

  width: 1200px;

}

.brownbox {

  background-color: burlywood;

  width: 1150px;

  height: 305px;

 

}

/*YELLOW*/

.laayout3 {

  display: flex;

  justify-content: space-around;

  align-items: flex-start;

  height: auto;

 

}

.sectiontwo {

  display: flex;

  width: 800px;

  justify-content: space-around;

  align-items: center;

}

.content2 {

  display: flex;

  justify-content: space-around;

  gap: 200px;

}

.box {

  background-color: yellow;

  width: 200px;

  height: 190px;

}

.box2 {

  background-color: green;

  width: 200px;

  height: 190px;

}

.box3 {

  background-color: yellow;

  width: 200px;

  height: 190px;

}

.box4 {

  background-color: green;

  width: 200px;

  height: 190px;

}

Bild zum Beitrag
HTML, Webseite, CSS, JavaScript, HTML5, Code, PHP, Programmiersprache, Webdesign, Webentwicklung, Frontend, Visual Studio Code
HTML/CSS?

Hallo,

ich möchte das container (das graue Box) ganz nach unten schieben. Aber es funktioniert nicht. ich habe schon align-items ausprobiert, justify-content aber es geht nicht(((((((. Vielleicht findet ihr einen Fehler in meinem Code. Bitte helft mir.

P.S Wir dürfen nicht margin, position etc. benutzen da diese Hausaufgaben nur mit Flexbox gemacht werden sollen (Unser aktuelles Thema).

CSS-CODE:

* {
    margin: 0;
    box-sizing: border-box;
}


.layout2 {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-direction: column;
}


.container {
    height: 150px;
    width: 1425px;
    background-color: rgb(80, 98, 104);
}


.item {
    background-color: rgb(39, 185, 171);
    width: 120px;
    height: 50px;
    color: #fff;
    font-weight: bold;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-size: large;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}


.item1 {
    background-color: rgb(193, 67, 67);
    width: 115px;
    height: 50px;
    color: #fff;
    font-weight: bold;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-size: large;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}


.item2 {
    background-color: rgb(112, 29, 189);
    width: 80px;
    height: 90px;
    color: #fff;
    font-weight: bold;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-size: small;
    display: flex;
    text-align: center;
    justify-content: center;
    flex-direction: column;
}


.item3 {
    background-color: rgba(112, 29, 189, 0);
    width: 80px;
    height: 110px;
    display: flex;
    text-align: center;
    justify-content: center;
    flex-direction: column;
}


.box1 {
    background-color: burlywood;
    height: 150px;
    width: 900px;
    display: flex;
    justify-content: flex-start;
}

HTML-CODE:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Flexbox</title>
    <link rel="stylesheet" href="../CSS/style.css">
  </head>
  <body>
    <header>
      <div class="layout2">
        <nav>
          <div class="container">
            <ul>
              <li>
                <a class="item1" href="#">LOGO</a>
              </li>
            </ul>
          </div>
        </nav>
      </div>
    </header>
  </body>
</html>

DAnkeschön LG

HTML, Webseite, CSS, HTML5, Code, Programmiersprache, Webdesign, Webentwicklung, Frontend
HTML/CSS?

Hallo,

ich möchte Abstand nach unten, rechts, links beim header, aber ich darf nicht margin, position, gap etc. benutzen also nur flexbox (das ist ja auch unser aktuelles thema).

P.S. Es sollte am Ende wie auf Bild 2 aussehen

CSS-Code:

*{
 margin: 0;
 box-sizing: border-box;
}
.main {
 display: flex;
 justify-content: center;
}
.layout {
 display: flex;
 justify-content: center;
}
.container {
 height: 130px;
 width: 100%;
 background-color:rgb(80, 98, 104);
 display: flex;
 justify-content: space-around;
 align-items: center;
}
.item {
 background-color: rgb(39, 185, 171);
 width: 120px;
 height: 50px;
 color: #fff;
 font-weight: bold;
 font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
 font-size: large;
 display: flex;
 justify-content: center;
 flex-direction: column;
 text-align: center;
}
.item1 {
 background-color: rgb(193, 67, 67);
 width: 115px;
 height: 50px;
 color: #fff;
 font-weight: bold;
 font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
 font-size: large;
 display: flex;
 justify-content: center;
 flex-direction: column;
 text-align: center;
}
.item2 {
 background-color: rgb(112, 29, 189);
 width: 80px;
 height: 90px;
 color: #fff;
 font-weight: bold;
 font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
 font-size: small;
 display: flex;
 text-align: center;
 justify-content: center;
 flex-direction: column;
}
.item3 {
 background-color: rgba(112, 29, 189, 0);
 width: 80px;
 height: 110px;
 display: flex;
 text-align: center;
 justify-content: center;
 flex-direction: column;
}
.box1 {
 background-color: burlywood;
 height: 150px;
 width: 900px;
 display: inline;
 justify-content: flex-start;
 align-items: center;
 flex-direction: column;
 
}

Würde mich für schnelle Antworten freuen. Danke im Voraus!
LG

Bild zum Beitrag
HTML, Webseite, CSS, HTML5, Code, Programmiersprache, Webdesign, Webentwicklung, Frontend
Ubuntu /etc/bin/bluetooth/main.conf Standard inhalt zurück bekommen?

Hab bisschen mist gebaut denke ich und bräuchte die Standart werte von Ubuntu 23.04 von einer Guten Quelle oder direkt von dem Source Code, leider nicht auf Github gefunden.

Wollte eigentlich nur meine Air Pods Pro 2 Fixen da immer nur einer gleichzeitig Musik abspielen konnte.
Der andere war wahrscheinlich als ein Mikrofon eingestellt da auch unter Klang und Eingang Air Pods eingestellt war uwas ich nicht will das das System überhaupt ein Mikro benutzt. Aber man muss eins wählen in diesem Options ding.

Und ja hab schon versucht von ControllerMode = bredr auf dual zu wechseln, deswegen geht es überhaupt erst auf einem ohr aber nicht auf beiden.
Ich muss auch bei jedem neustart des Pcs oder nach einer weile die Air Pods wieder erneut trennen und verbinden über bluetooth.
Das läuft dann jeden tag so ab : komplett entfernen, Case öffnen mit beiden air pods drinne.
taste auf der rückseite gedrückt halten bis es einen sound macht und weiss leuchtet.
auf verbinden klicken sobald es ubuntu erkennt und warten.
dann nehme ich erstmal einen kopfhörer raus und gucke ob sound kommt, es kommt keiner dann nehme ich den zweiten aus der case raus und da spielt sich dann musik ab.

das ist alles unmöglich zu benutzen und andere Kopfhörer hab ich leider zurzeit nicht. Meine overear mit aux sind kaputt gegangen und ich will auch keine Overear mehr weil ich dadurch haarausfall erleide, mit in ears hab ich keine Probleme.

PC, Server, Apple, Computer, Windows, Betriebssystem, Technik, Bluetooth, Linux, IT, Programmierer, Ubuntu, Bash, developer, Fachinformatiker, Informatik, Informatiker, IT-Sicherheit, Linux Mint, macOS, netzwerkadministrator, Netzwerktechnik, Open Source, openSUSE, OS, Programmiersprache, Script, Shell, Treiber, Unix, Arch Linux, Konfiguration, Systemwiederherstellung, Texteditor, Bluetooth-Kopfhörer, Dateisystem, Debian, PowerShell, Windows 10, github, Manjaro, Windows 11, AirPods, Air Pods Pro
flask: jinja2.exceptions.TemplateNotFound: index.html | Wie fixen?

Hallo zusammen,

nachdem ich jetzt Stunden, und zwar wirklich Stunden an nur einem, meiner Meinung nach unnötigem Problem gesessen habe, bitte ich nun um Hilfe.

Folgendes vorab: Nachdem ich die Datenbankkonfiguration ausgelagert habe, fing das Problem wieder an. Zuvor habe ich in die flask_app.py einfach folgendes eingetragen, was das Problem löste:

data = "Daten aus Python-Skript"

Ich persönlich arbeite mich ja in die Programmierung ein, habe aber das Gefühl, dass Flask irgendwie unnötig kompliziert ist. Aber das ist ja nicht wichtig.

Ich habe just for fun OpenAI mal über den Code laufen lassen: Zugegeben, ist das nicht die schlauste Option, aber nach 5 Stunden nur für diesen Code verzweifelt man doch etwas xD

Ich möchte Daten aus der Datenbank abrufen und auf der Webseite anzeigen lassen. Dazu existiert folgender Code:

Hauptverzeichnis/main.py:

from web.flask_app import app
from systm import main

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=5000)  # 5000 Standard

Hauptverzeichnis/systm/main.py:

from flask import Flask, render_template
from systm.d import create_db_connection

app = Flask(__name__)


# Datenbankverbindung initialisieren
db = create_db_connection()
cursor = db.cursor()


@app.route('/')
def display_data():
    # Hier können Sie Daten aus Ihrem Python-Skript abrufen
    cursor.execute("SELECT * FROM products")
    product_info = cursor.fetchall()

    # Diese Daten werden an die HTML-Datei übergeben
    return render_template('index.html', product_info=product_info)


# Route, um Produktinformationen anzuzeigen
@app.route('/products')
def display_products():
    # Informationen aus der Datenbank abrufen
    cursor.execute("SELECT * FROM products")
    product_info = cursor.fetchall()

    # Informationen an das HTML-Template übergeben und anzeigen
    return render_template('products.html', product_info=product_info)


if __name__ == '__main__':
    app.run(debug=True)

Hauptverzeichnis/systm/d.py:

import mysql.connector

def create_db_connection():
    db = mysql.connector.connect(
        host="",
        user="",
        password="",
        database=""
    )
    return db

Hauptverzeichnis/web/flask_app.py:

from flask import Flask, render_template
from systm.d import create_db_connection

app = Flask(__name__, template_folder='web/templates', static_folder='web/static')


# Deaktivieren des Template-Caching
app.jinja_env.auto_reload = True
app.config['TEMPLATES_AUTO_RELOAD'] = True
app.config['STATIC_AUTO_RELOAD'] = True


# Datenbankverbindung initialisieren
db = create_db_connection()
cursor = db.cursor()


@app.route('/')
def display_data():
    # Daten aus der Datenbank abrufen
    cursor.execute("SELECT * FROM products")
    product_info = cursor.fetchall()

    # Diese Daten werden an die HTML-Datei übergeben und angezeigt
    return render_template('index.html', product_info=product_info)

Hauptverzeichnis/web/templates/index.html :

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="style/css" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
    <h1>Produktinformationen</h1>
    <table>
        <tr>
            <th>Produktname</th>
            <th>Verschlüsselungstyp</th>
            <!-- Weitere Spalten hinzufügen -->
        </tr>
        {% for product in product_info %}
        <tr>
            <td>{{ product[0] }}</td>
            <td>{{ product[1] }}</td>
            <!-- Weitere Spalten hinzufügen -->
        </tr>
        {% endfor %}
    </table>
</body>
</html>
HTML, Webseite, HTML5, Programmiersprache, Python, Webentwicklung, Python 3, Flask
Java Input/Output Tests Junit?

Hallo, 

Ich habe folgendes Problem: Ich habe eine Klasse, die die Benutzerinteraktion (Input/Output) handhabt und ich muss Junit4 Tests dafür schreiben. 

Die Klasse, die ich testen möchte, sieht in etwa so aus:

package program;
// imports
public class UserInteraction {
    private Program program;


    private UserInteraction(){
        program = new Program();
    }


    // Menu display
    private void start() {
        while (!program.getProgramStarted) {
            String input = readInput();
            switch (input) {
            case "1":
                addUser();
                break;
            case "2":
                deleteUser();
                break;
            case "3":
                // ...
            default:
                System.err.println("Unknown option");
                break;
            }
        }
    }


    private void addUser() {
        // Output
        String username = readInput();
        program.addUser(username);
        System.out.println("User " + username + "added");
    }


    private void deleteUser() {
        // Output
        String username = readInput();
        program.deleteUser(username);
        System.out.println("User " + username + "deleted");
    }


    @SuppressWarnings("resource")
    private String readInput() {
        return (new Scanner(System.in)).nextLine();
    }


    public void main(String[] args) {
        UserInteraction ui = new UserInteraction();
        ui.start();
    }


}

Die Program Klasse so:

package program;
// imports
public class Program {
    // fields
    private User currentUser;
    private List<User> user = new ArrayList<User>();
    // constructor


    public void addUser(String name) throws Exception {
        if (user.size() >= 6) {
            throw new Exception();
        }
        int newID = user.size() + 1;
        user.add(new User(name, newID));
    }


    public String[] getALlUser() {
        int counter = 0;
        String[] userArray = new String[user.size()];


        for (User s : user) {
            userArray[counter++] = s.toString();
        }
        return userArray;
    }
}

Nun möchte ich zum Beispiel testen, ob die folgende Eingabe korrekt verarbeitet wird:

1
John
=> Benutzer John hinzugefügt

Zu diesem Zweck habe ich einen Junit-Test geschrieben, der wie folgt aussieht:

package tests;


import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.PrintStream;


import org.junit.After;
import org.junit.Test;


import program.*;


public class UserInteractionTest {


    private final InputStream originalIn = System.in;
    private final PrintStream originalOut = System.out;
    private Program program;


    @After
    public void restoreStreams() {
        System.setIn(originalIn);
        System.setOut(originalOut);
    }


    @Test
    public void testCreateUser() throws Exception {
        String input = "1\nJohn\n";
        ByteArrayInputStream in = new ByteArrayInputStream(input.getBytes());
        System.setIn(in);
        ByteArrayOutputStream outContent = new ByteArrayOutputStream();
        System.setOut(new PrintStream(outContent)); // Leitet System.out um


        program = new Program();
        try {
            program.main(null);
        } finally {
            System.setIn(originalIn);
        }
        String expectedOutput = "User John added";
        assertTrue("Output not found", outContent.toString().contains(expectedOutput));
    }


}

Die Eingabe ("1\n") wird gemacht, aber danach wird keine Eingabe eingefügt, so dass der Test hängen bleibt.

Weiß jemand, wie man dieses Problem lösen kann? Oder gibt es vielleicht eine bessere Möglichkeit, die Eingabe/Ausgabe meines Java-Programms zu testen/zu überprüfen?

Vielen Dank im Voraus!

Java, Code, Eclipse, Programmiersprache

Meistgelesene Fragen zum Thema Programmiersprache