Java: Wieso funktioniert der Zähler vom Stack nicht?

Außer folgender Klasse gibt es noch eine Klasse Queue und Stack. Kann mir jemand erklären, warum die Münzen des 1 und 2 Euro sowie des 50 Cents Stapels funktionieren und die des 20 und 10 Cent Stapels nicht? Danke.

package muenzen;

import java.util.*;

public class muenzen {
  public static int muenze;
  public static int ausgabe, zaehler, zaehler2, zaehler3, zaehler4, zaehler5;
  public static double wert2, wert;

  static Scanner sc = new Scanner(System.in);
  static Stack<Integer> muenzen = new Stack<>();
  static Stack<Integer> zehncent = new Stack<>();
  static Stack<Integer> zwanzigcent = new Stack<>();
  static Stack<Integer> fuenfzigcent = new Stack<>();
  static Stack<Integer> eineuro = new Stack<>();
  static Stack<Integer> zweieuro = new Stack<>();
  
  public static void stapelerstellen() {
    for (int i = 0; i < 20; i++) {
      System.out.println("Welchen Wert hat die Münze? (10 Cent/ 20 Cent/ 50 Cent/ 1 Euro/ 2 Euro)");
      muenze = sc.nextInt();

      if (muenze == 1) {
        eineuro.push(muenze);
      }
      else if (muenze == 2) {
        zweieuro.push(muenze);
      }
      else if (muenze == 10) {
        zehncent.push(muenze);
      }
      else if (muenze == 20) {
        zwanzigcent.push(muenze);
      }
      else if (muenze == 50) {
        fuenfzigcent.push(muenze);
      }
      else {
        System.out.println("Ungültige Eingabe. Bitte probieren Sie es erneut.");
      }
    }
  }

  public static void stapelausgabe() {
    zaehler = 0;
    zaehler2 = 0;
    zaehler3 = 0;
    zaehler4 = 0;
    zaehler5 = 0;

    while (!eineuro.isEmpty() || !zweieuro.isEmpty() || !zehncent.isEmpty() || !zwanzigcent.isEmpty() || !fuenfzigcent.isEmpty() ) {
      while (!eineuro.isEmpty()) {
        eineuro.pop();
        zaehler = zaehler + 1;
      }

      wert = zaehler;
      System.out.println("Auf dem 1€ Stapel liegen/liegt " + zaehler + " Münze(n). Er hat somit einen Wert von " + wert + "€");

      while (!zweieuro.isEmpty()) {
        zweieuro.pop();
        zaehler2 = zaehler2 + 1;
      }

      wert = zaehler2 * 2;
      System.out.println("Auf dem 2€ Stapel liegen/liegt " + zaehler2 + " Münze(n). Er hat somit einen Wert von " + wert + "€");

      while (!fuenfzigcent.isEmpty()) {
        fuenfzigcent.pop();
        zaehler3 = zaehler3 + 1;
      }

      wert = zaehler3 * 50 / 100;
      wert2 = wert * 100;
      System.out.println("Auf dem 50 Cent Stapel liegen/liegt " + zaehler3 + " Münze(n). Er hat somit einen Wert von " + wert + "€ oder " + wert2 + " Cent");

      while (!zwanzigcent.isEmpty()) {
        zwanzigcent.pop();
        zaehler4 = zaehler4 + 1;
      }

      wert = zaehler4 * 20 / 100;
      wert2 = wert * 100;
      System.out.println("Auf dem 20 Cent Stapel liegen/liegt " + zaehler4 + " Münze(n). Er hat somit einen Wert von " + wert + "€ oder " + wert2 + " Cent");

      while (!zehncent.isEmpty()) {
        zehncent.pop();
        zaehler5 = zaehler5 + 1;
      }

      wert = zaehler5 * 10 / 100;
      wert2 = wert * 100;
      System.out.println("Auf dem 10 Cent Stapel liegen/liegt " + zaehler5 + " Münze(n). Er hat somit einen Wert von " + wert + "€ oder " + wert2 + " Cent");
    }
  }

  public static void main(String[] args) {
    stapelerstellen();
    stapelausgabe();
  }
}
programmieren, Java, Eclipse, Programmiersprache, Zähler, stack, Methode
Wieso findet mein Programm die Cookies nicht(Java, Selenium)?

Hallo,ich arbeite grad an einem Programm und zwar an einem Automatischen Login weil ich das bald im Büro brauch deswegen benutzte ich aktuell als Testseite phase6.deIch greife auf die Website zu das ist kein Problem auch innerhalb dort kann ich alles steuern login ausführen auf buttons klicken etc. Doch das kann ich erst machen wenn die Cookies akzeptiert sind und mein Programm findet egal mit welchem Code die Cookies der Website nicht, wenn ich sie manuell anklicke geht der rest wieder ohne probleme, aber die Cookies machen mir zuschaffenKann mir da jemand helfen, was für Cookies das sind und wie ich darauf zugreife habe es schon mit dem xpath, cssSelector, name, id alles versucht import org.openqa.selenium.By;

Das ist mein aktueller Code(keine Cookie abfrage aktuell drin da ich testen wollte ob wenn ich manuell draufklicke dann buttons gefunden werden

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.*;

import java.util.Set;
import java.util.concurrent.TimeUnit;


public class EdgeLogin {
    public static void main(String[] args) {
        // Setze den Pfad zum Microsoft Edge WebDriver
        System.setProperty("webdriver.edge.driver", "C:\\Users\\A020451\\EigeneDateien\\EdgeLogin\\msedgedriver.exe");

        // Erzeuge eine neue Instanz des EdgeDriver
        WebDriver driver = new EdgeDriver();

        // Navigiere zur Phase6-Website
        driver.get("https://www.phase6.de");



        try {
            TimeUnit.SECONDS.sleep(5);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }



        // Maximiere das Browserfenster
        driver.manage().window().maximize();

        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }


        driver.findElement(By.cssSelector(".p6-icon-login")).click();


    }
}

Das ist der HTML-Code von dem Button auf der main html seite

<button id="acceptAllCookies" class="btn btn-primary" onclick="setGdprCookieAll();closeThisModal()" xpath="1">
::before
<span class="icon_check hide"></span>
::after
</button>

HTML, Java, Programmiersprache, Selenium
Wie mache ich daraus ein Strucktogramm?
import java.util.Scanner;
public class ChristmasTreeMain {
  Scanner scanner = new Scanner(System.in);
  int Tage;
  public static void main(String args[]) {
    ChristmasTreeMain tannenbaum = new ChristmasTreeMain();
    tannenbaum.inputTage();
    tannenbaum.drawTop(tannenbaum.Tage);
    tannenbaum.drawMiddle(tannenbaum.Tage);
    tannenbaum.drawBottom(tannenbaum.Tage);
  }
  public void inputTage() {
    boolean isInputValid = false;
    do {
      System.out.println("Bitte geben Sie einen Tage zwischen 1 und 24 ein:");
      while (!scanner.hasNextInt()) {
        System.out.println("Ungueltige Eingabe, geben Sie eine Zahl zwischen 1 und 24 ein.");
        scanner.next();
      }
      Tage = scanner.nextInt();
      if (Tage >= 1 && Tage <= 24) {
        isInputValid = true;
      } else {
        System.out.println("Ungueltige Eingabe, geben Sie eine Zahl zwischen 1 und 24 ein.");
      }
    } while (!isInputValid);
    scanner.close();
  }
  public void drawTop(int Tage) {
    for (int i = 2; i <= Tage; i++) {
      System.out.print(" ");
    }
    System.out.print("ii");
    System.out.println();
  }
  public void drawMiddle(int Tage) {
    int Dots = 0;
    for (int Tag = 1; Tag <= Tage; Tag++) {
       
      if (Tag > 2) {
        Dots += 2;
      }
   
      if (Tag > 1) {
   
        for (int i = 0; i < Tage - Tag; i++) {
          System.out.print(" ");
        }
   
        System.out.print("i/");
        for (int i = 0; i < Dots; i++) {
          System.out.print(".");
        }
        System.out.print("\\i");
   
        System.out.println();
      }
    }
  }
  public void drawBottom(int Tage) {
    for (int r = 1; r <= Tage; r++) {
      System.out.print("--");
    }
    System.out.println();
    for (int l = 2; l <= Tage; l++) {
      System.out.print(" ");
    }
    System.out.print("||");
  }
}
Java, Programmiersprache, Struktogramm
Selbst programmiertes MC Plugin Variable existiert nicht obwohl ich sie davor benutzt habe?

Das ist der Code der Main.java Datei:

package easytrade.thepixel3261.easytrade;

import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements CommandExecutor{


    @Override
    public void onEnable() {
        getLogger().info("Plugin enabled!");
    }

    @Override
    public void onDisable() {
        getLogger().info("Plugin disabled!");
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (cmd.getName().equalsIgnoreCase("convert")) {
            if (!(sender instanceof Player)) {
                sender.sendMessage("Only players can use this command.");
                return true;
            }

            Player player = (Player) sender;

            if (args.length != 2) {
                player.sendMessage("Usage: /convert <material> <amount>");
                return true;
            }

            Material fromMaterial = Material.getMaterial(args[0].toUpperCase());
            int amount = Integer.parseInt(args[1]);

            if (fromMaterial == null) {
                player.sendMessage("Invalid material specified.");
                return true;
            }

            Material toMaterial = null;

            if (fromMaterial == Material.COPPER_INGOT && amount >= 2) {
                toMaterial = Material.EMERALD;
                amount /= 2;
            } else if (fromMaterial == Material.EMERALD && amount >= 1) {
                toMaterial = Material.COPPER_INGOT;
                amount *= 2;
            } else {
                player.sendMessage("Invalid material specified or not enough items.");
                return true;
            }

            ItemStack fromItem = new ItemStack(fromMaterial, amount);

            if (!player.getInventory().containsAtLeast(fromItem, amount)) {
                player.sendMessage("You do not have enough " + fromMaterial.toString().toLowerCase() + "s in your inventory.");
                return true;
            }

            if(toMaterial == Material.EMERALD) {
                ItemStack toItem = new ItemStack(toMaterial, amount/2);
            }
            if(toMaterial == Material.COPPER_INGOT) {
                ItemStack toItem = new ItemStack(toMaterial, amount*2);
            }

            // Remove the specified number of items from the player's inventory
            player.getInventory().removeItem(fromItem);

            // Add the converted items to the player's inventory
            player.getInventory().addItem(toItem);

            player.sendMessage("Successfully converted " + amount + " " + fromMaterial.toString().toLowerCase() + "s to " + amount + " " + toMaterial.toString().toLowerCase() + "s.");

            return true;
        }

        return false;
    }
}

Wenn ich versuch einen build zu machen passiert das:

Bild zum Beitrag
Java, Minecraft, Spigot
Selbstprogramiertes Plugin auf lokalen Server funktioniert nicht?

Ich habe ein Minecraft Plugin selbst programmiert aber jetzt wird diese Fehlermeldung angezeigt:

[08:53:05] [Server thread/ERROR]: Could not load 'plugins\EasyConvert+1.0.0.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Cannot find main class `easytrade.thepixel3261.easytrade.EasyTrade'
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:69) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:145) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:394) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:301) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_20_R1.CraftServer.loadPlugins(CraftServer.java:435) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3871-Spigot-d2eba2c-3f9263b]
    at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:219) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3871-Spigot-d2eba2c-3f9263b]
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:972) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3871-Spigot-d2eba2c-3f9263b]
    at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:303) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3871-Spigot-d2eba2c-3f9263b]
    at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.ClassNotFoundException: easytrade.thepixel3261.easytrade.EasyTrade
    at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:147) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:99) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]
    at java.lang.Class.forName0(Native Method) ~[?:?]
    at java.lang.Class.forName(Class.java:534) ~[?:?]
    at java.lang.Class.forName(Class.java:513) ~[?:?]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:67) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    ... 8 more

Als Server Software benutze ich Spigot. Das ist der Code der Main.java Datei:

package easytrade.thepixel3261.easytrade;

import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {

    @Override
    public void onEnable() {
        getLogger().info("Plugin enabled!");
    }

    @Override
    public void onDisable() {
        getLogger().info("Plugin disabled!");
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (cmd.getName().equalsIgnoreCase("convert")) {
            if (!(sender instanceof Player)) {
                sender.sendMessage("Only players can use this command.");
                return true;
            }

            Player player = (Player) sender;

            if (args.length != 2) {
                player.sendMessage("Usage: /convert <material> <amount>");
                return true;
            }

            Material fromMaterial = Material.getMaterial(args[0].toUpperCase());
            int amount = Integer.parseInt(args[1]);

            if (fromMaterial == null) {
                player.sendMessage("Invalid material specified.");
                return true;
            }

            Material toMaterial = null;

            if (fromMaterial == Material.COPPER_INGOT && amount >= 2) {
                toMaterial = Material.EMERALD;
                amount /= 2;
            } else if (fromMaterial == Material.EMERALD && amount >= 1) {
                toMaterial = Material.COPPER_INGOT;
                amount *= 2;
            } else {
                player.sendMessage("Invalid material specified or not enough items.");
                return true;
            }

            ItemStack fromItem = new ItemStack(fromMaterial, amount);

            if (!player.getInventory().containsAtLeast(fromItem, amount)) {
                player.sendMessage("You do not have enough " + fromMaterial.toString().toLowerCase() + "s in your inventory.");
                return true;
            }

            ItemStack toItem = new ItemStack(toMaterial, amount);

            // Remove the specified number of items from the player's inventory
            player.getInventory().removeItem(fromItem);

            // Add the converted items to the player's inventory
            player.getInventory().addItem(toItem);

            player.sendMessage("Successfully converted " + amount + " " + fromMaterial.toString().toLowerCase() + "s to " + amount + " " + toMaterial.toString().toLowerCase() + "s.");

            return true;
        }

        return false;
    }
}

Java, Minecraft, Bukkit, Spigot, PaperMC
Minecraft Plugin zu .jar umwandeln?

Ich habe ein Minecraft Plugin programmiert welches ich jetzt zu einer .jar Datei umwandeln will damit ich es auf meinen Server benutzen kann. Allerdings wenn ich javac in dem Verzeichnis mit der Main.java datei ausführe, werden mir viele Großbuchstaben und andere Sachen als Fehler angezeigt.

Das ist der Code der Main.java Datei:

package easytrade.thepixel3261.easytrade;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
  @Override
  public void onEnable() {
    getLogger().info("Plugin enabled!");
  }
  @Override
  public void onDisable() {
    getLogger().info("Plugin disabled!");
  }
  @Override
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("convert")) {
      if (!(sender instanceof Player)) {
        sender.sendMessage("Only players can use this command.");
        return true;
      }
      Player player = (Player) sender;
      if (args.length != 2) {
        player.sendMessage("Usage: /convert <material> <amount>");
        return true;
      }
      Material fromMaterial = Material.getMaterial(args[0].toUpperCase());
      int amount = Integer.parseInt(args[1]);
      if (fromMaterial == null) {
        player.sendMessage("Invalid material specified.");
        return true;
      }
      Material toMaterial = null;
      if (fromMaterial == Material.COPPER_INGOT && amount >= 2) {
        toMaterial = Material.EMERALD;
        amount /= 2;
      } else if (fromMaterial == Material.EMERALD && amount >= 1) {
        toMaterial = Material.COPPER_INGOT;
        amount *= 2;
      } else {
        player.sendMessage("Invalid material specified or not enough items.");
        return true;
      }
      ItemStack fromItem = new ItemStack(fromMaterial, amount);
      if (!player.getInventory().containsAtLeast(fromItem, amount)) {
        player.sendMessage("You do not have enough " + fromMaterial.toString().toLowerCase()
            + "s in your inventory.");
        return true;
      }
      ItemStack toItem = new ItemStack(toMaterial, amount);
      // Remove the specified number of items from the player's inventory
      player.getInventory().removeItem(fromItem);
      // Add the converted items to the player's inventory
      player.getInventory().addItem(toItem);
      player.sendMessage("Successfully converted " + amount + " "
          + fromMaterial.toString().toLowerCase() + "s to " + amount + " "
          + toMaterial.toString().toLowerCase() + "s.");
      return true;
    }
    return false;
  }
}

Außerdem werden mir in IntelliJ 5 Warnungen angezeigt, weiß aber nicht wie man das fixen könnte:

Bild zum Beitrag
Java, Minecraft, Minecraft Plugin, PaperMC
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

Meistgelesene Fragen zum Thema Java