Binäre suche mit Java, system falls Zahl nicht vorhanden?

Moin,

Folgendes:

Ich habe ein array mit 25.000 Feldern, in diesem sind aufsteigend quadratzahlen gespeichert. Das Programm fragt aktuell ab nach welcher Zahl man sucht und sucht dann systematisch das Array ab mittels annäherung. Ich hab nur absolut keine idee wie ich es einbauen kann, dass er merkt wenn die Zahl nicht vorhanden ist. Meine idee war, das er die Variable des letzten versuchs, mit der des aktuellen versuchs dividiert und wenn das Ergebnis = 0 ist, soll er ausgeben das die zahl nicht vorhanden ist. Leider passiert es dadurch aber manchmal das er anzeigt das die Zahl nicht vorhanden ist obwohl sie das ist, immer dann wenn er ein Feld neben der gesuchten Zahl sucht. Hier mal der relevante Teil des Codes:

int resultIndex;
int bereich = 12500;
int alg = 6250;
int bereich2 = 0;

while(true)
{


    if(quadratZahlen[bereich] < zahl)
    {
        bereich = bereich + alg;
        alg = alg / 2;

    }
    else if(quadratZahlen[bereich] == zahl)
    {
        resultIndex = bereich;
        break;
    }
    else if(quadratZahlen[bereich] > zahl)
    {
        bereich = bereich / 2;

        alg = bereich / 2;

    }


    int test = bereich - bereich2;

    if (test == 0)
    {
        resultIndex = -1;
        break;
    }

    bereich2 = bereich;

}

bereich2 ist die variable der letzten suche

bereich die der aktuellen suche

alg dient nur zur neu berechnung von bereich wenn die Zahl nicht gefunden wurde

resultIndex zeigt den Platz der gefundenen Zahl

Computer, Software, Studium, Mathematik, Technik, programmieren, Java, Array, Entwicklung, Informatik, Programmiersprache, Softwareentwicklung, Algorithmus, binär, Programmierung Java, IntelliJ IDEA
Intellij Teleport- command einbauen(Java und Maven)?
package system.Commands;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.YamlConstructor;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import system.system.Main;
import system.vanish.Vanish;

import java.util.Vector;

public class VanishCommand implements CommandExecutor {

    @Override
    public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
        Vanish vanish = Main.getInstance().getVanishManager();



        if (sender instanceof Player) {
            Player player = (Player) sender;
            Location loc = null;
            if (vanish.isVanished(player)) {


                vanish.setVanished(player, false);
                player.setGameMode(GameMode.SURVIVAL);
                sender.sendMessage(ChatColor.GOLD + "Manetti is raus");
                assert loc != null;
                player.teleport(loc);


            } else {
                vanish.setVanished(player, true);

                loc = player.getLocation();

                player.setGameMode(GameMode.CREATIVE);
                sender.sendMessage(ChatColor.GOLD + "Support-Mode");


            }
            return true;


        }

        return false;
    }
}

Ich habe einen Vanish Command programmiert und möchte das wenn der Player den Command ausführt dass sich dann seine Coordinaten gemerkt werden und wenn er ihn noch einmal ausführt und ent-vanished wird er wieder zu den gemerkten Coordinaten teleportiert wird. Aber der Oben zu sehende Code funktioniert leider nicht.

programmieren, Java, Minecraft, IntelliJ IDEA
Wie kann ich das anders Umsetzen (Python 3)?

Hi also ich mach mir einen kleinen Sprachassistenten Bot ist nichts zum veröffentlichen oder so ich mach mir das halt um während dem Zocken mal sagen zu können spiel playlist ... usw. Speech to Text usw klappt alles Wunderbar nur das Music Spielen macht klitze bisschen Probleme. Ich will das "main.py" weiter zuhört nachdem ich subprocess.call() gemacht habe aber in dem script das ich damit augerufen habe ist so etwas wie time.sleep() damit die music weiter spielt.

Teil meiner Main.py:


if "spiel" in txt:
    if "playlist" in txt:
        if "1" in txt:
            say("Playlist 1 wird Wiedergegeben.")
            subprocess.call(["C:\\Users\\Zensiert\\AppData\\Local\\Programs\\Python\\Python38\\pythonw.exe", "playlist1.py", "play"])
            os.execv(sys.executable, ['python3'] + sys.argv)

if "pause" in txt:
    say("Musik wird Pausiert")
    subprocess.call(["C:\\Users\\Zensiert\\AppData\\Local\\Programs\\Python\\Python38\\pythonw.exe", "playlist1.py", "pause"])

Und hier meine playlist1.py

import pygame
import sys, getopt

arguments = str(sys.argv)

pygame.init()

pygame.mixer.music.load('C:\\Users\\Zensiert\\IdeaProjects\\LibreOfficeSprachAssistent\\.idea\\songs\\playlist1\\streets.mp3')
if(sys.argv[1]== 'play'):
    pygame.mixer.music.play()

elif(sys.argv[1] == 'pause'):
    pygame.mixer.music.pause()

print(f"Arg Input      : {sys.argv[1]=}")

clock = pygame.time.Clock()
while pygame.mixer.music.get_busy():
    clock.tick(309)
    pygame.event.poll() 

Das Script spielt die Musik und es klappt auch alles aber ich kann halt erst wieder reden wenn ich 309 Sekunden (Wegen dem "clock.tick(309)") gewartet habe. Jemand eine Idee? Ich weiß alles nicht so gut erklärt sorry

PC, Computer, Windows, Programm, Sprache, programmieren, System, Bot, Informatik, Playlist, Python, debugging, Wiedergabe, Pygame, Sprachassistent, IntelliJ IDEA
Aus Java-Quellcode eine executable Datei erstellen (IntelliJ)?

Hallo,

wie erstelle ich mit diesem Quellcode (siehe weiter unten) in der IntelliJ IDE eine ausführbare Datei (.exe) ?
Sämtliche Erklärvideos oder Beiträge von Java-Dateien zu exe-Dateien haben mir hierfür nicht weitergeholfen.

In der cmd.exe (Eingabeaufforderung, hinter dem Promt) funktioniert die simple Anwendung über den Befehl java Lohnrechner3 einwandfrei. Allerdings suche ich nach einer Möglichkeit daraus eine App zu erstellen das sich per doppelklick in einem eigenen Fenster öffnet, den Bruttolohn abfragt und wie im Quellcode zu sehen die Beiträge ausrechnet.

import java.util.Scanner;

public class Lohnrechner3 {

  public static void main(String[] args) {

    double zahl;

    Scanner scan = new Scanner(System.in);

    System.out.print("Geben Sie hier Ihren Bruttolohn ein: ");

    zahl = scan.nextDouble();

    double lohn = (0);

    System.out.println("Bruttolohn = " + lohn);

    double lohnsteuer = 0.16 * lohn;

    System.out.println("Lohnsteuer = " + lohnsteuer);

    double krankenversicherung = 0.0765 * lohn;

    System.out.println("Krankenversicherung = " + krankenversicherung);

    double rentenversicherung = 0.0995 * lohn;

    System.out.println("Rentenversicherung = " + rentenversicherung);

    double arbeitslosenversicherung = 0.021 * lohn;

    System.out.println("Arbeitslosenversicherung = " + arbeitslosenversicherung);

    double pflegeversicherung = 0.011 * lohn;

    System.out.println("Pflegeversicherung = " + pflegeversicherung);

    double solidaritaetszuschlag = 0.055 * lohnsteuer;

    System.out.println("Abzuege prozentual von der Lohnsteuer - Solidaritaetzuschlag = " + solidaritaetszuschlag);

    double kirchensteuer = 0.08 * lohnsteuer;

    System.out.println("Abzuege prozentual von der Lohnsteuer - Kirchensteuer = " + kirchensteuer);

    double nettolohn = lohn - lohnsteuer - krankenversicherung - rentenversicherung - arbeitslosenversicherung - pflegeversicherung - solidaritaetszuschlag - kirchensteuer;

    System.out.println("Nettolohn = " + nettolohn);

  }

}

Was in der Eingabeaufforderung nach dieser Eingabe erscheint : Prompt/Verzeichnis java Lohnrechner3:

Geben Sie hier Ihren Bruttolohn ein: 10000

Bruttolohn = 0.0

Lohnsteuer = 0.0

Krankenversicherung = 0.0

Rentenversicherung = 0.0

Arbeitslosenversicherung = 0.0

Pflegeversicherung = 0.0

Abzuege prozentual von der Lohnsteuer - Solidaritaetzuschlag = 0.0

Abzuege prozentual von der Lohnsteuer - Kirchensteuer = 0.0

Nettolohn = 0.0

Liebe Grüße

Bild zu Frage
Computer, programmieren, Java, IntelliJ IDEA

Meistgelesene Fragen zum Thema IntelliJ IDEA