java lambda format umformulieren?

Hallo,

ich würde gerne wissen wie es möglich ist den folgenden code von lambda zu java 6 code umwandeln kann?

        if(name.equals(itemStackName) || transformedName.equals(itemStackName)) {
            node.methods.stream().filter(methodNode -> methodNode.name.equals(getTooltipName) && methodNode.desc.equals(getTooltipDesc)).findFirst()
            .ifPresent(methodNode -> {
            	InsnList list = new InsnList();
                String onTooltipDesc = "(L"+itemStackName.replace(".", "/")+";L"+entityPlayerName.replace(".", "/")+";Ljava/util/List;Z)V";
                list.add(new VarInsnNode(Opcodes.ALOAD, 0));
                list.add(new VarInsnNode(Opcodes.ALOAD, 1));
                list.add(new VarInsnNode(Opcodes.ALOAD, 3));
                list.add(new VarInsnNode(Opcodes.ILOAD, 2));
                                methodNode.instructions.insert(methodNode.instructions.getLast().getPrevious().getPrevious(), list);
            });
        }

Also von z.b. von Runnable r = ()-> System.out.print("Run method")

zu

Runnable r = new Runnable() {

@Override

public void run() {

System.out.print("Run method")

}

}

Ich würde gerne wissen wie das möglich ist. Also wie die if Abfrage von ganz oben ohne "->" aussehen würde.

Mit freundlichen Grüßen

Java, Minecraft, Eclipse, Minecraft Server, Bukkit, Lambda, Spigot
Deadloop oder kein Output woran liegt es?

Liebe Community

Ich habe für meinen Bachelor Wirtschaftsinformatik Teilzeit (Studium hat gestern begonnen) die interessante Zusatzaufgabe lösen wollen.

Beim Code gibt es gem. Entwicklungsumgebung keine Fehlermeldung, aber leider auch keinen Output. Wenn ich die While Schlaufe ändere, so erhalte ich nur einen Deadloop.

Ziel ist es das die Software Auskunft gibt, ob genug Geld für das gewählte Produkt im Automaten eingezahlt worden ist oder nicht.

Mögliche Antworten:

-> Bitte weiteres Geld einwerfen

oder

Danke für Ihren Einkauf & Info Rückgeld Anzahl jeder CHF Münzen (CHF = Schweizerfranken).

Im oberen Abschnitt definiere ich den Münzen Wert auf Rappen Basis (pendant zu Cent) und definiere gleichzeitig den Count für die Anzahl Münzen bei Rückgeld.

Ich würde mich riesig über Feedback von euch freuen.

LG

Alex

public class Rueckgeld {

public static void main(String[] args) {

int preis = 105; // Preis des Produkts in Rappen

int bezahlt = 500; // Eingeworfener Betrag in Rappen

//Deklaration Münzenwert und Münzencounter

int fuenffr = 500;

int fuenffrcount = 0;

int zweifr = 200;

int zweifrcount = 0;

int einfr = 100;

int einfrcount = 0;

int fuenfzigrp = 50;

int fuenfzigrpcount = 0;

int zwanzigrp = 20;

int zwanzigrpcount = 0;

int zehnrp = 10;

int zehnrpcount = 0;

int fuenfrp = 5;

int fuenfrpcount = 0;

int rueckgeld;

//Rückgeld berechnen

if (bezahlt < preis) {

System.out.print("Bitte weiteres Geld einwerfen");

}

else {

rueckgeld = preis - bezahlt;

while (rueckgeld != 0) {

if (rueckgeld >= 500) {

fuenffrcount++;

rueckgeld -= fuenffr;

}

else if (rueckgeld >= 200){

zweifrcount++;

rueckgeld -= zweifr;

}

else if (rueckgeld >= 100){

einfrcount++;

rueckgeld -= einfr;

}

else if (rueckgeld >= 50){

fuenfzigrpcount++;

rueckgeld -= fuenfzigrp;

}

else if (rueckgeld >= 20){

zwanzigrpcount++;

rueckgeld -= zwanzigrp;

}

else if (rueckgeld >= 10){

zehnrpcount++;

rueckgeld -= zehnrp;

}

else if (rueckgeld >= 5){

fuenfrpcount++;

rueckgeld -= fuenfrp;

}

}

}

//Counter Ausgabe

if (fuenffrcount+zweifrcount+einfrcount+fuenfzigrpcount+zwanzigrpcount+zehnrpcount+fuenfrpcount > 0) {

System.out.println("5 Fr: "+fuenffrcount+"Stück");

System.out.println("2 Fr: "+zweifrcount+"Stück");

System.out.println("1 Fr: "+einfrcount+"Stück");

System.out.println("50 Rp: "+fuenfzigrpcount+"Stück");

System.out.println("20 Rp: "+zwanzigrpcount+"Stück");

System.out.println("10 Rp: "+zehnrpcount+"Stück");

System.out.println("5 Rp: "+fuenfrpcount+"Stück");

System.out.println("Danke für Ihren Einkauf");

}

}

}

Java, Eclipse, Programmiersprache
Java Objekte, wie zugreifen?

Ausgangssituation:
2 Java Klassen -> Auto und AppAuto
Frage: Wie kann ich auf das selbe Objekt wie oben zugreifen -> siehe AppAuto.java?

Inhalt Auto:

package de.deka.uebung2;

public class Auto {
 private String kennzeichen;
 private double kilometerstand;
 private double tankvolumen;
 private double verbrauch;
 private double kraftstoffmenge;

 public String getKennzeichen() {
  return kennzeichen;
 }

 public void setKennzeichen(String kennzeichen) {
  this.kennzeichen = kennzeichen;

 }

 public double getKilometerstand() {
  return kilometerstand;
 }

 public void setKilometerstand(double kilometerstand) {
  this.kilometerstand = kilometerstand;

 }

 public double getTankvolumen() {
  return tankvolumen;
 }

 public void setTankvolumen(double tankvolumen) {
  this.tankvolumen = tankvolumen;

 }

 public double getVerbrauch() {
  return verbrauch;
 }

 public void setVerbrauch(double verbrauch) {
  this.verbrauch = verbrauch;

 }

 public double getKraftstoffmenge() {
  return kraftstoffmenge;
 }

 public void setKraftstoffmenge(double kraftstoffmenge) {
  this.kraftstoffmenge = kraftstoffmenge;

 }
}

Inhalt AppAuto:

package de.deka.uebung2;


public class AppAuto {


  public static void main(String[] args) {
    // Initialisierung der Variable auto vom Typ Auto
    Auto auto = new Auto();


    // Wertzuweisungen der Variable auto
    auto.setKennzeichen("F DX 5486");
    auto.setKilometerstand(105789.8);
    auto.setTankvolumen(58);
    auto.setVerbrauch(8.6);
    auto.setTankvolumen(0);


    // Aufruf der Methoden tanken und fahren
    tanken(29.7);
    fahren(16.7);
  }


  public static void tanken(double liter) {
    // Wie kann ich auf das selbe Objekt wie oben zugreifen?
    if (auto.getTankvolumen() >= liter && liter != 0) {
      auto.setKraftstoffmenge(liter);
      System.out.println("Sie haben erfolgreich " + liter + " getankt!");
    } else {
      System.out.println("Sie können nicht mehr tanken als möglich ist!");
    }
  }


  private static void fahren(double km) {
    System.out
        .println("Sie verbrauchen auf einer Strecke von " + km + " km " + km * auto.getVerbrauch() / 100 + " Liter!");
  }
}

IT, programmieren, Java, Eclipse, Informatik
Minecraft PVP client error "Failed to load texture java.io.FileNotFoundException" was kann man machen?

Hallo, ich versuche momentan einen eigenden Minecraft PVP-Client zu machen und wollte den Hintergrund vom Main-Menü ändern. Also habe ich den Pfad zum Bild eingegeben: "clientData/MainMenu/main_menu.jpg" (clientData liegt im surce/Minecraft Ordner). Dann aber habe ich beim starten diese Fehlermeldung bekommen:

[Client thread/WARN]: Failed to load texture: minecraft:clientData/MainMenu/main_menu.jpg

java.io.FileNotFoundException: minecraft:clientData/MainMenu/main_menu.jpg

at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:64) ~[bin/:?]

at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:61) ~[bin/:?]

at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:30) ~[bin/:?]

at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:64) [bin/:?]

at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:39) [bin/:?]

at nexoclient.ui.MainMenu.drawScreen(MainMenu.java:10) [bin/:?]

at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1189) [bin/:?]

at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1133) [bin/:?]

at net.minecraft.client.Minecraft.run(Minecraft.java:422) [bin/:?]

at net.minecraft.client.main.Main.main(Main.java:113) [bin/:?]

at Start.main(Start.java:11) [bin/:?]

Das ist der Code, den ich verwendet habe (in Eclipse):

import net.minecraft.client.gui.GuiScreen;

import net.minecraft.util.ResourceLocation;

public class MainMenu extends GuiScreen {

@Override

public void drawScreen(int mouseX, int mouseY, float partialTicks) {

mc.getTextureManager().bindTexture(new ResourceLocation("clientData/MainMenu/main_menu.jpg"));

this.drawModalRectWithCustomSizedTexture(0, 0, 0, 0, this.width, this.height, this.width, this.height);

super.drawScreen(mouseX, mouseY, partialTicks);

und für den code von Minecraft habe ich mcp918 benutzt.

Ich würde mich über eine Antwort freuen.

programmieren, Java, Minecraft, Eclipse
Java Code Error: Exception in thread wegen for schleife?

Ich verstehe den Error nicht, den ich bekomme (Exception in thread). Der Fehler liegt hier bei der Zeile unten mit. Wenn ich den innerhalb der Schleife verwende funktioniert es genau so. Ich möchte nur nachdem ich meine werte eingegeben habe den Maxwert aller x werte ausrechnen.

System.out.println("Max Länge X: " + Math.max(values_x[i], length));

Der Code sieht wie folgt aus (ist nur der relevante code):

System.out.println("Wie viele werte");
		int length = sc.nextInt();
		
		double[] values_x = new double[length];
		double[] values_y = new double[length];

		int i = 0; // hab hier die variabel für die schleife seperat gemacht damit ich ihn auch ausserhalb der schleife benutzen kann.
		for(; i < length; i++) {
			System.out.println("X wert eingeben" + i);
			values_x[i] = sc.nextDouble();
			
			System.out.println("Y wert eingeben" + i);
			values_y[i] = sc.nextDouble();
			if(values_y[i] > values_x[i]) {
				System.out.println("Y ist größer als der vorherige wert" + values_x[i]);
			}else {
				System.out.println("Y ist kleiner als der vorherige wert" + values_x[i]);
			}
		}
//Hier System.out.println("Max Länge X: " + Math.max(values_x[i], length));
		print_measurements(values_x, values_y, name_x, unit_x, name_y, unit_x);
	}
}

Console Error:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
	at Messtabelle.getMeasurements(Messtabelle.java:84)
	at Messtabelle.main(Messtabelle.java:18)


Computer, Technik, programmieren, Java, Eclipse, Informatik, Technologie, Spiele und Gaming
Kann mir jemand helfen, JavaFX in Eclipse zum Laufen zu bringen?

Hallo,

ich bin mit meinem Java-Buch nun bei JavaFX angelangt und muss nun, um den Code weiterverfolgen zu können, dieses installieren. Doch funktioniert dieses aus irgendeinem Grund bei mir nicht.

Das sind die Schritte, die ich aus einigen Websites und Videos habe und durchgeführt habe:

  1. Ich habe das Eclipse-Plugin "e(fx)clipse" installiert.
  2. Ich habe JavaFX17 installiert und den zip-Ordner extrahiert. (Download Website: https://gluonhq.com/products/javafx/)
  3. Dann habe ich in Eclipse eine User Bibliothek angelegt: Window --> Preferences --> Java --> BuildPath --> User Libraries --> New --> (Name eingeben) --> Add External Jars
  4. Die Dateien in dieser Bibliothek mit denen aus den Videos und Websiten verglichen. Das Ergebnis war, dass alle Dateien dabei sind.
  5. Ein JavaFX-Project in Eclipse erstellt: New --> Other --> JavaFX --> JavaFX Project --> (Namen eingeben) --> finish
  6. User Bibliothek zum Projekt hinzugefügt: Rechtsklick auf Projekt --> BuildPath --> Configure BuildPath --> Add Library in ClassPath --> User Library --> Next --> Bibliothek auswählen --> Finish

Mit dem Erstellen des Projekts wurden automatisch ein Package und eine Klasse erstellt, die voller Fehlermeldungen waren. Bei den Websites und Videos sind diese nach dem Hinzufügen der User Bibliothek verschwunden, doch bei mir sind sie weiterhin vorhanden. So sieht das aus:

Ich hoffe ihr könnt mir helfen.

Vielen Dank schon mal im voraus.

Kann mir jemand helfen, JavaFX in Eclipse zum Laufen zu bringen?
Computer, programmieren, Java, Eclipse, JavaFX, Technologie
Wie bekomme ich aus einer Zahlenreihe, einer Arrayreihe innerhalb einer arraylist?

Moin!

Ich bin ein blutiger Anfänger, bzw wieder, weil ich alles vergessen habe.

Ich würde gerne eine Zahlenreihe, innerhalb einer Arraylist (name "vorbereiten"), in Arraylisten innerhalb einer Arraylist machen (name "allelisten").

Kein schöner weg und wahrscheinlich auch sehr ungwöhnlich :)

Ich habe mit biegen und brechen und viel lesen irgendwie grob was hin bekommen, obwohl ich es auch ehrlich gesagt noch nicht ganz verstehe.

Mein Ziel ist es, das aus der Zahlenreihe die schon fest in einer Arraylist ist, 3er blöcke als Arraylist zu machen, die zudem nach größe sortiert werden sollen

Also aus [ 14, 44 ,21 , 77, 49, 1, 66, 9,....]

soll werden:

[ [14, 21 ,44] , [1,49, 77], [9, 66,....]]

Ich habe probiert mit ",remove" das irgendwie hin zu basteln, sodass die ersten 3 zahlen in "vorbereiten" verschwinden, aber ich bekomme das nicht in einen loop gebaut, sodass die Zahlen aber trotzdem in "allelisten" bestehen bleiben.

Zudem weiss ich nicht, was ich anstatt der "10" bei "i<10; i++" einfügen muss, damit die ganze liste einmal durchgenommen wird. Es sind über 1000 zahlen.

Ich wäre sehr froh, wenn mir da jemand helfen könnte.

Vielen dank und bleibt gesund!

package eds;

import java.io.FileNotFoundException;
import java.util.ArrayList;

public class nhnbjbgn {

    public static void main(String[] args) throws FileNotFoundException {
        
        ArrayList<Integer> vorbereiten = new ArrayList<>();
        
        vorbereiten.add(14);
        vorbereiten.add(44);
        vorbereiten.add(21);
        vorbereiten.add(77);
        vorbereiten.add(49);
        vorbereiten.add(1);
        vorbereiten.add(66);
        vorbereiten.add(9);
        vorbereiten.add(99);
        
        
            ArrayList<ArrayList<Integer>> alleListen = new ArrayList<>();
            ArrayList<Integer> tmp;
            
            for(int i=0;i<10;i++){
                tmp=new ArrayList<>();
                if(i==0){
                    tmp.add(vorbereiten.get(0));
                    tmp.add(vorbereiten.get(1));
                    tmp.add(vorbereiten.get(2));
                }
                else{
                    tmp=(ArrayList<Integer>) alleListen.get(i-1).clone();
                    
                }
                alleListen.add(tmp);
            }
            System.out.print(vorbereiten);
            System.out.print(alleListen);
        }     
}

Wie bekomme ich aus einer Zahlenreihe, einer Arrayreihe innerhalb einer arraylist?
Computer, Schule, Programm, programmieren, Java, Eclipse, Informatik
Java Parameter werden nicht gespeichert?

Hallo,

wenn ich bei dem unten stehenden Code ein Objekt vom Typ Supplytank erstelle, werden die Parameter (capacity, filling, content)nicht in dem Objekt gespeichert. Wo habe ich den Fahler gemacht?

Vielen Dank im vorraus.


public class Tank {
    String content;
    double capacity;
    double filling;
    String valve;
    
    public Tank(double capacity, double filling, String content) {
        capacity = this.capacity;
        filling = this.filling;
        content = this.content;
        this.valve = "close";
    }

    @Override
    public String toString() {
        return "Tank [content=" + content + ", capacity=" + capacity + ", filling=" + filling + ", valve=" + valve
                + "]";
    }

}
public class Supplytank extends Tank {

    public Supplytank(double capacity, double filling, String content) {
        super(capacity, filling, content);
    }

    public void remove(int liter) {
        valve = "open";
        filling = filling - liter;
        valve = "close";
        Warning();
    }

    public boolean Warning() {
        boolean b = false;
        if ((capacity - (capacity - 10)) < filling) {
            return b;
        } else {
            b = true;
            System.out.println("WARNING, level below 10 L");
            return b;
        }
    }

}
programmieren, Java, Eclipse, eclipse java
Java Liste Element löschen?

Hallo,

ich würde gerne eine Methode schreiben zum löschen eines elementes aus einer dopplet verketteten Liste. Aber irgendwie klappt das nicht richtig. Das unten stehende habe ich bisher. Vielleicht kann mir ja jemand helfen.

Danke

Liebe Grüße

class Liste {
   Element first;
   Element last;

   public void add(int a) {
      if (first == null) {
         first = new Element(a);
         last = first;
      } else if (a <= first.numb) {
         Element temp = first;
         first = new Element(a);
         temp.prev = first;
         first.next = temp;
      } else {
         Element current = first;
         while (current.next != null && a > current.numb) {
            current = current.next;
         }
         if (current.next == null && a >= current.numb) {
            Element temp = last;
            last = new Element(a);
            temp.next = last;
            last.prev = temp;
         } else {
            Element insert = new Element(a);
            insert.next = current;
            insert.prev = current.prev;
            current.prev.next = insert;
            current.prev = insert;
         }
      }

   }

   public void delete(int b) {
      if (first != null) {
         Element current = first;
         while (current.numb != b) {
            current = current.next;
         }

      }
   }

   public void search(int b) {
      if (first != null) {
         Element current = first;
         while (current.numb != b) {
            current = current.next;
            if (current == last && current.numb != b) {
               System.out.print("Element nicht gefunden)");
               break;
            }
            if (current.numb == b) {
               System.out.print(current.numb);
               break;
            }
         }

      }
   }

   public void print() {
      if (first != null) {
         Element current = first;
         while (current != null) {
            System.out.println(current.numb);
            current = current.next;
         }
      }
   }

   public static void main(String[] args) {
      Liste list = new Liste();
      list.add(14);
      list.add(9);
      list.add(36);
      list.add(4);
      list.print();
      list.search(14);
   }
}
programmieren, Java, Eclipse

Meistgelesene Fragen zum Thema Eclipse