Minecraft Java Eclipse Logo rendern?

ich steh derzeit beim PVP Client vor einem kleinen Problem. Ich habe folgende Methode in meiner UI Class - bzw. hier der Source:

public class HUD {

public Minecraft mc = Minecraft.getMinecraft();

public static int rainbow(int delay){

double rainbowState = Math.ceil((System.currentTimeMillis() + delay) / 30.0);

rainbowState %= 360.0;

return Color.getHSBColor((float)(rainbowState / 360.0), 1F, 1f).getRGB();

}

public void draw(){

ScaledResolution sr = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight);

FontRenderer fr = mc.fontRendererObj;

Client.modules.sort(Comparator.comparingInt(m -> fr.getStringWidth(((Module)m).name))

.reversed()

);

GlStateManager.translate(4, 4, 0);

GlStateManager.translate(-4, -4, 0);

GL11.glPushMatrix();

GL11.glScalef(2, 2, 2);

fr.drawStringWithShadow(Client.name, 2, 3, rainbow(10));

GL11.glPopMatrix();

GlStateManager.translate(4, 4, 0);

GlStateManager.translate(-4, -4, 0);

GlStateManager.translate(4, 4, 0);

GlStateManager.translate(-4, -4, 0);

GL11.glPushMatrix();

GL11.glScalef(1, 1, 1);

fr.drawStringWithShadow("§7Version:" , 6, 22, -1);

fr.drawStringWithShadow(Client.version, 45, 22, rainbow(10));

GL11.glPopMatrix();

int count = 0;

for(Module m : Client.modules){

if(!m.toggled || m.name.equals("TabGUI"))

continue;

double offset = count*(fr.FONT_HEIGHT + 4);

Gui.drawRect(sr.getScaledWidth() - fr.getStringWidth(m.name) - 9, offset , sr.getScaledWidth() - fr.getStringWidth(m.name) - 7, 4 + fr.FONT_HEIGHT + offset, -1);

Gui.drawRect(sr.getScaledWidth() - fr.getStringWidth(m.name) - 7, offset , sr.getScaledWidth(), 4 + fr.FONT_HEIGHT + offset, 0x90000000);

fr.drawStringWithShadow(m.name, sr.getScaledWidth() - fr.getStringWidth(m.name) - 4, 3 + offset, rainbow(10));

count++;

}

Client.onEvent(new EventRenderGUI());

}

public void LogoRender(){

mc.getTextureManager().bindTexture(new ResourceLocation("Client/Logo.png"));

Gui.drawModalRectWithCustomSizedTexture(1, 1, 1, 1, 2, 2, 2, 3);

}

}

Wie ihr seht, alles geht, es geht aber um den LogoRender, mir wird nähmlich kein Bild ingame angezeigt. Version ist 1.8, hat jemand ein Rat?

Java, Minecraft
Wie kann ich einen JButton einen Text zuweisen, welcher von einem String kommt?

Ich versuche gerade eine Art Tunier zu erstellen. Hierbei werden zwei JButtons angezeigt, welche als Text zufällige Namen zugewiesen bekommen. Jedes mal wenn man einen Button drückt bekommt derjenige auf dem gedrückt wurde einen Punkt. So schaut das Programm aus:

Jedoch kommt nach jedem mal drücken eine Fehler-Meldung. Ich bin mir ziehmlich sicher das es an dem Befehl "main.button.setText(main.name.setText[a]);" liegt.
Wenn ich anstatt dem String Array ein Wort eingib (z.B. "Hallo"), dann funktioniert es ohne Probleme. Also muss es am String Array liegen.

Also wie schafft man es, dass man einem Button einen Text durch ein String/String Array zuweißt?

Hier ein Abschnitt meines Programmes:

@Override
   public void actionPerformed(ActionEvent e) {
      if(e.getSource() == main.button) {
         main.button.setText(main.names[a]); //Hier kommt die Fehlermeldung
         main.button1.setText(main.names[b]);
         main.namePoints[a]=main.namePoints[a]+1; //Punkteanzahl des Spieler wird
         a=a+2; //a wird erhöht damit neue Spieler drankommen erhöht
         b=b+2; //b wird erhöht damit neue Spieler drankommen
      }
      if(e.getSource() == main.button1) {
         main.button.setText(main.names[a]);
         main.button1.setText(main.names[b]);
         main.namePoints[b]=main.namePoints[b]+1;
         a=a+2;
         b=b+2;
      }
   }
Wie kann ich einen JButton einen Text zuweisen, welcher von einem String kommt?
Computer, Programmieren, Java, Eclipse, Informatik, String
Kann mir bitte schnell jemand bei einem Java fehler helfen?

Guten Tag zusammen,

ich habe auf meinem vServer zurzeit BungeeCord installiert. Dieser soll 2 Server miteinander verbinden. Server 1 kann ich starten und mich auch über BungeeCord via Minecraft verbinden. Doch bei Server 2 gibt es folgenen Fehler:

[0,077s][warning][os,thread] Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 4k, detached.
[0,078s][warning][os,thread] Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 0k, detached.
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached
        at java.base/java.lang.Thread.start0(Native Method)
        at java.base/java.lang.Thread.start(Thread.java:798)
        at java.base/jdk.internal.ref.CleanerImpl.start(CleanerImpl.java:118)
        at java.base/java.lang.ref.Cleaner.create(Cleaner.java:203)
        at java.base/jdk.internal.ref.CleanerFactory.<clinit>(CleanerFactory.java:42)
        at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:729)
        at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:849)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
        at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
        at java.base/java.util.jar.JarFile.<init>(JarFile.java:348)
        at java.base/java.util.jar.JarFile.<init>(JarFile.java:319)
        at java.base/java.util.jar.JarFile.<init>(JarFile.java:258)
        at java.base/sun.launcher.LauncherHelper.getMainClassFromJar(LauncherHelper.java:521)
        at java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:747)
        at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:655)

Der Server hat 16GB RAM, 2GB für BungeeCord, 6GB für Server 1 und 3GB für Server 2.

Danke für die Hilfe im Voraus,
MFG MrGLaDOS

Java, Error, Minecraft Server
Java Anfänger Hilfe?
import java.util.Scanner;
 
public class example {
  public static void main(String[] args) {
     
  	System.out.println("Kinokartenpreis: 20€");
  	System.out.println("Wollen sie Karten kaufen? (ja = 1 / nein = 2)");
    Scanner input = new Scanner(System.in);
     
    System.out.print("Eingabe der Nummer: ");
    int number = input.nextInt();
  
    if(number == 1)	{
    	System.out.println("Wie viele Karten wollen sie kaufen?");
    }
     
    if(number == 2)	{
    	System.out.println("Schade dass sie keine Karte kaufen wollen!");
    }
     
    if(number > 2)	{
    	System.out.println("Ungültige nummer!");
    }
     
    input.close();
  }
}

Ich bin Java Anfänger und wollte ein kleines "Programm" schreiben bei dem man mit Inputs Kinokarten "kaufen" kann.

Wie man im Code sieht kann man mit den Zahlen 1 und 2 bestimmen ob man eine Karte kaufen will und das mit dem "Wie viele Karten..." das mache ich später einfach ignorieren.

Meine Fragen jetzt:

  1. Wie kann ich es machen dass man statt 1 und 2 einfach ja und nein schreiben kann?
  2. Wenn man jetzt 3 oder eine andere ungültige Zahl eingibt wie kann ich das machen dass man dann wieder die Möglichkeit hat etwas einzugeben also dass der Code einfach weiter vorne wieder startet?
  3. Und zuletzt wie kann ich dass wenn man beim Input anstatt Zahlen Buchstaben oder andersrum etwas falsches eingibt, machen dass dann nicht einfach ein Fehler im Code kommt sondern dass dann da irgendwie steht "Bitte nochmal versuchen" halt ohne Fehler

Danke schonmal! :)

Computer, Programmieren, Java, Computersprache, Informatik, java programmieren
Was mache ich mit meinem DiscordBot falsch?

Ich bin dabei einen Discord Bot zu programmieren und mein CommandListener springt nicht an, obwohl ich alles nach der Anleitung eines Turtorials gemacht habe.

Ich möchte mich schonmal im voraus bedanken.

CommandListener

package de.ben.klassenbot.listener;

import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;

public class CommandListener extends ListenerAdapter {
    
    @Override
    public void onMessageReceived(MessageReceivedEvent event) {
        String message = event.getMessage().getContentDisplay();
        
        if(event.isFromType(ChannelType.TEXT)) {
            TextChannel channel = event.getTextChannel();
            if(message.startsWith("!debug")) {
                String[] args = message.split(" ");
                if(args.length == 1) {
                    if(args[0].equalsIgnoreCase("test")) {
                        channel.sendMessage("Debuged!");
                    }
                } else
                    channel.sendMessage("Debuged without args!");
            }
        }
    }
}

Bei Fragen für weitere Dateien bitte nur fragen.

Computer, Programmieren, Java, Bot, java programmieren, discord, Discord Bot
Greenfoot: addObject() und setImage() funktionieren nicht?

Ich wollte ein Quizspiel machen, bei dem man ein Bild sieht und dann auf die richtige Antwort klicken muss. Aber ich bekomme den Befehl setImage() nicht zum Laufen.

Dann habe ich beschlossen, einfach eine Klasse mit dem Bild zu erstellen und das Objekt mit dem Befehl addObject() der Welt hinzuzufügen. Dies funktioniert auch nicht.

Aber wenn ich es manuell mache (indem ich mit der rechten Maustaste auf die Klasse klicke und neu ... () wähle, dann in die Welt ziehe), funktioniert es einwandfrei. Kann mir jemand helfen?

import greenfoot.*;
// (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Collections;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class QuizWorld extends World {
  private List<Question> questions;

  private int questionNum;

  private int wrong;

  private int correct;

  private Actor imageActor = new Actor() {
  };

  public QuizWorld() {
    super(1000, 600, 1);
    questions = new ArrayList<Question>();

    String questionText = "Benenne?";
    ArrayList<Answer> answers = new ArrayList<Answer>();
    answers.add(new Answer("Pentensäure", false));
    answers.add(new Answer("Butansäure", false));
    answers.add(new Answer("Pentansäure", true));
    answers.add(new Answer("Methan", false));

    Collections.shuffle(answers);

    Question question = new Question(questionText, answers);
    String explanation = "The correct answer was Pentansäure. ";
    question.setExplanation(explanation);
    questions.add(question);
Computer, Schule, Programmieren, Java, Greenfoot
Java - Komponenten aus einem Graph berechnen / Algorithmus?

Hallo, ich arbeite gerade an einem Graphenprogramm und der nächste Schritt ist es ,mir die Zusammenhangskomponenten des Graphes auslesen zu lassen.

Eine dafür notwendige Wegmatrix habe ich schon programmiert:

public void berechneKomponenten()
    {
        
        for (int i = 0; i < Matrix.length; i++)
        {
            for(int j = 0; j < Matrix[i].length; j++)
            {
                if(WegMatrix[i][j] == 1)
                {
                    int buchstabe_int = i+65;
                    char buchstabe_char = (char) buchstabe_int;
                    
                    System.out.print(buchstabe_char + ",");
                }                        
            }        
        }
    }

Die Ausgabe sieht so aus:

A, A, A, B, B, C, C, C, D, D, D, E, E

--------------------------------------------------------

Und das ist im Prinzip auch richtig, denn:

Die Buchstaben (A-E) habe ich zum Verständnis hinzugefügt.
-------------------------------------------------------------------------------------

Meine Wegmatrix hat:

  • 3 A's
  • 2 B's
  • 3 C's
  • 3 D's
  • 2 E's

Verglichen mit meiner Ausgabe:

A, A, A => 3 A's
B, B => 2 B's
C, C, C => 3 C's
D, D, D = > 3 D's
E, E => 2 E's

-----------------------------------

Doch die Ausgabe sollte so aussehen: (Siehe K1 und K2)

bzw so:

Wie schaffe ich das?

Danke!

Java - Komponenten aus einem Graph berechnen / Algorithmus?
Computer, Programmieren, Java, Informatik
Eine Jar-Datei in der Eingabeaufforderung erstellen?

Ich lerne gerade Java mit einem Buch und bin gerade dabei, eine Jar-Datei über die Eingabeaufforderung zu erstellen. Doch da gibt es etwas das ich nicht verstehe und ich hoffe, dass ihr mir es erklären könnt.

Das ist die Klasse, die ich in eine Jar-Datei umwandeln soll:

package de.galileocomputing.schroedinger.java.kapitel13;

import java.io.IOException;

public class HalloSchroedinger {

    public static void main(String[] args) throws IOException{
        System.out.println("Hallo Schrödinger");
    }

}

Das kompilieren bekomme ich ohne Probleme in der cmd hin:

javac HalloSchroedinger.java

Auch das erstmalige Erstellen einer Jar-Datei:

jar cf SagHallo.jar C:\Users\...\Documents\Java\SchrödingerProgrammiertJava\src\de\galileocomputing\schroedinger\java\kapitel13\HalloSchroedinger.java

Beim Hinzufügen der auszuführenden Main-Methode klappt es aber nicht mehr... In meinem Buch sieht der Text so aus:

jar ufe SagHallo.jar de.galileocomputing.schroedinger.java.kapitel13.HalloSchroedinger de\galileocomputing\schroedinger\java\kapitel13\HalloSchroedinger.class

Es ist ja eigentlich fast genau so, wie beim einfachen Erstellen der Jar-Datei. Doch der Teil nach dem "SagHallo.jar" bis zum Anfang des Pfades gibt mit Rätsel auf. Was ist das? Wie lautet der bei mir?

Das habe ich schon probiert...

C:.Users.'''.Documents.Java.SchrödingerProgrammiertJava.src.de.galileocomputing.schroedinger.java.kapitel13.HalloSchroedinger

...dann wird aber eine "ClassNotFoundException" geworfen.

Ich hoffe ihr könnt mir helfen. Vielen Dank im voraus.

(Ich weiß übrigens, dass man es normalerweise nicht über die CMD macht.)

Computer, Technik, Programmieren, Java, cmd, Eingabeaufforderung, JAR, Technologie
Java | warum bin ich dem KeyListener immer einen Schritt voraus?

Hallo!

Wir sollen gerade als Aufgabe im Rahmen der Vorlesung "Software-Entwicklung 2" ein Projekt um eine Funktion erweitern. Das Projekt ist eine Kinoticketverkaufs-Oberfläche:

Oben links kann man das Datum ändern. Darunter kann man die Vorstellung am jeweiligen Tag auswählen. Dem entsprechend ändert sich dann auch Platzauswahl auf der rechten Seite. Die Button bieten die Möglichkeit ausgewählte Plätze zu verkaufen und zu stornieren. Es gibt also im Code ein PlatzVerkaufsWerkzeug , ein DatumAuswaehlWerkzeug, ein VorstellungsAuswaehlWerkzeug und ein Kassenwerkzeug (welches die anderen Werkzeuge beobaschtet) mit den dazugehörigen UIs. Natürlich gibt es dann noch Materialien wie Film, TagesPlan, Vorstellung ect. und Fachwerte wie FSK, Datum, Uhrzeit ect. . Nun sollen wir einbauen, dass sich bei einem Verkauf ein neues Fenster öffnet. Dieses Fenster soll etwa folgendermaßen aussehen:

Hier kann dann der Betrag, welcher der Kunde dem User gegeben hat eingegeben werden. Entsprechend wird dann das Rückgeld aktualisiert. Der OK-Button wird Klickbar, falls der eingegebene Betrag größer oder gleich dem Preis ist.

Um dies Umzusetzen haben wir ein neues BarZahlungsWerkzeug und die BarZahlungsWerzeugUI erstellt. Wenn nun im Platzverkaufswerkzeug der verkauf aufgerufen wird, was passiert wenn der verkaufen-Button gedrückt wird, wird das Fenster (JDialog mit vier JPanels) geöffnet.

Es funktioniert soweit auch alles außer, dass bei der Eingabe in das Textfeld (JTextField) etwa schief geht. Undzwar gebe ich zumbeispiel 1 ein und es passiert nichts. Gebe ich nun eine weitere Zahl ein, so wird das Rückgeld um 1 erhöht, sodass dort -594 steht. Wir sind dem Ding also immer einen Schritt voraus...

Wir haben das ganze mit einem KeyListener im BarZahlungsWerkzeug umgesetzt. Das sieht dann so aus:

(pseudo-artiger code...)

ui.getEingabeFeld().addKeyListener ( new KeyListener()

{

public void keyTyped ( KeyEvent e )

{

if (Eingabe ist eine Zahl)

dann: berechne Rückgeld und zeige dieses an und enable ggf den OK-Button.

else if (Eingabe ist Leer)

dann: Rückgeld = -preis

else : schreibe da wo sonst das Rückgeld steht: "Bitte nur Zahlen eingeben"

}

public void keyPressed(KeyEvent e)

{

}

public void keyReleased(KeyEvent e)

{

}

});

Ich habe in einem Forum bei jemandem das gleiche Problem gesehen, jedoch keine Lösung. Vielleicht habt ihr ja Tipps und Ideen.

Danke und LG

Max Stuthmann

Java | warum bin ich dem KeyListener immer einen Schritt voraus?
Computer, Technik, Programmieren, Java, Informatik, Technologie
Kann mir hier jemand helfen Java?

Beispiel: Autofahren (drivingACar)

 

Erstelle ein Projekt Autofahren mit einer Klasse Auto (Car).

a.  Implementiere eine Instanzvariable vom Typ double für den aktuellen Kilometerstand                             (currentOdometerValue)

     Erstelle einen Konstruktor, der den aktuellen Kilometerstand auf 100 km festlegt.

     Implementiere eine Methode (drive), die das Fahren simuliert. Die gefahrenen Kilometer                             (drivenKilometers) werden übergeben und der aktuelle Kilometerstand wird um diese erhöht.

     Implementiere eine get-Methode für den aktuellen Kilometerstand.

     Teste die Methode, indem du ein Autoobjekt (myCar) erstellst und dieses Auto 120 km fahren                 lässt. Gib anschließend den aktuellen Kilometerstand aus.

     

b.  Ergänze den Quelltext der Klasse Car um ein Attribut, das die noch vorhandene Benzinmenge                  (currentPatrolQuantity) in Litern speichert. Der Tank des Autos soll maximal 70 Liter Benzin                             fassen (tankCapacity) und das Auto soll durchschnittlich 7.3 Liter pro 100 km Fahrstrecke                          verbrauchen (fuelConsumption).

Verändere den Konstruktor derart, dass das Auto vollgetankt ist, wenn das Objekt myCar erstellt wird und der Kilometerstand übergeben wird. Dein Auto hat nun einen Kilometer-Stand von 1650 km. Der Benzinverbrauch soll ebenfalls festgelegt werden.

     Verändere nun die Methode drive derart, dass beim Fahren tatsächlich Benzin verbraucht wird.    Implementiere eine weitere get-Methode für den aktuellen Benzinstand.

c.  Bei der vorherigen Übung sind wir davon ausgegangen, dass der Tank des Autos maximal 70 Liter Benzin fasst. Es gibt aber auch Autos, deren Tank nur 50 Liter fasst; andere Autos wiederum                         können bis zu 80 oder 90 Litern betankt werden.                                                                                     Mache dein Auto flexibler, so dass der Benutzer der Klasse das maximale Fassungsvermögen des                  Tanks beim Erzeugen eines Auto-Objektes festlegen kann.

     Auch der Verbrauch des Autos soll nun beim Erzeugen der Auto-Objekte flexibel festgelegt                         werden können, denn nicht jedes Auto verbraucht im Schnitt 7.3 Liter/100 km. Ergänze die                         Klasse entsprechend.

Kann mir jemand hier helfen wie man es lösen kann, kenne mich da nicht so aus. Mfg Danke

Kann mir hier jemand helfen Java?
Computer, Schule, Programmieren, Java, Informatik
Kann jemand rübersehen, ob die Antworten der Fragen richtig gelöst sind?

Aufgabe 1:

Welche Aussage ist korrekt?

a.) Eine Methode, die auf nicht-statische Attribute zugreift, darf nicht statisch sein

b.) Eine statische Methode muss zwingenderweise mindestens einen Übergabeparameter haben

c.) Eine Methode, die nicht auf Attribute zugreift, muss statisch sein

d.) Eine nicht-statische Methode ändert stets den Wert von Attributen

Lösung: b

Aufgabe 2:

Wie kann man ein Objekt einer Objektklasse erzeugen? (Wählen Sie eine oder mehrere Antworten)

Wählen Sie eine oder mehrere Antworten:

a.) Mit dem default Konstruktor, während in der Objektklasse keine Konstruktoren explizit vorhanden sind.

b.) Mit dem parameterlosen Konstruktor der Objektklasse.

c.) Mit dem default Konstruktor, während in der Objektklasse einen parametrisierter Konstruktor definiert ist.

d.) Mit dem parametrisierten Konstruktor der Objektklasse.

Lösung: hier weiß ich das leider nicht...

Aufgabe 3:

Welche der folgenden Aussagen sind richtig? (Wählen Sie eine oder mehrere Antworten)

a.) Attribute können die Eigenschaften eines Objektes verändern.

b.) Attribute sind ab Deklaration in der gesamten Klasse definiert, also auch in inneren Blöcken.

c.) Attribute können wiederum Objekte sein.

d.) In Attributen können je nach Bauplan (Klasse) die Eigenschaften von Instanzen dieser Klasse eingespeichert werden.

Lösung: a.) und b.)

Computer, Schule, Programmieren, Java
Kann mir jemand bei diesen 3 Multiple Choice Fragen helfen?

Heey

kann mir jemand bitte bei diesen 3 Fragen helfen?

Frage 1

Es existiere eine Klasse Pflanze, die eine Objektmethode 

public void giessen(int mengeWasser) enthält. 

In der main-Methode einer Testklasse wird nun ein Objekt der Klasse Pflanze erzeugt. Dieses trägt den Namen rose.

Wie ruft man nun die Objektmethode giessen für das Objekt rose in der main-Methode, der Testklasse auf? 

a.) rose.giessen(50);

b.) rose = giessen(50);

c.) giessen(rose) = 50;

c.) Pflanze.giessen(50);

Frage 2

Wie viele Objekte der Klasse User werden insgesamt in Arbeitsspeicher durch main-Methode erzeugt?

public class User{
       private String name;
       private User[] friends;
       private int numFriends;
       
       public User() {
               friends = new User[100];
       }
       public User(String name) {
               this();
               this.name = name;
       }
       public void addFriend(User u){
               if (numFriends < friends.length){
                   friends[numFriends] = u;
                   ++numFriends;
               }
       }       
       public void addFriend(String name){
               addFriend(new User(name));              
       }
}
-------------------------------------------------------------------
public class Facebook{

  public static void main(String[] args){

       User alex = new User("Alex");
       alex.addFriend(new User("Friedrich"));
       alex.addFriend("Wilhelm");
       
       User lena = new User();
       lena.addFriend("Alex");

 }
}

Wählen Sie eine Antwort:

a.) 5

b.) 2

c.) 3

d.) 4

Frage 3

Gegeben ist folgende Klasse:

public class Blume{
   public static int anzahlBlumen = 0;
   public String farbe;
   public float groesse ;
   public Blume(String f, float g){
       farbe = f;
       groesse = g;
       anzahlBlumen++;
   }
}

In der Main Methode der Testklasse wurden nun verschiedene Objekte von Typ Blume erstellt, unter anderem: sonnenblume, gaensebluemchen, tulpe. Nun wollen wir wissen, wie viele Blumen wir erstellt haben und dies in der lokalen Variable (also in der main-Methode) blumenstraussgroesse speichern. Welche der folgenden Anweisungen tut dies?

Wählen Sie eine Antwort:

a.) int blumenstraussgroesse = Blume.anzahlBlumen;

b.) int blumenstraussgroesse = sonnenblume.anzahlBlumen();

c.) int blumenstraussgroesse = 3;

d.) Blume.blumenstraussgroesse = tulpe.anzahlBlumen;

Computer, Schule, Programmieren, Java
Java - Distanzmatrix Algorithmus, Wie ansetzen?

Hallo, ich bin gerade dabei ein Graphenprogramm zu schreiben und stecke bisschen bei der Distanzmatrix.

Ich weiß nicht ob sich jemand bei Graphentheorie auskennt oder nicht aber der Algorithmus für die Distanzmatrix ist relativ einfach. Nur das umsetzen in Code fällt mir sehr schwer und deswegen hoffe ich, dass ihr mir vielleicht dabei helfen könnt..

Der Algorithmus für eine Distanzmatrix lautet so:

Man hat eine Eingangsmatrix (Adjazentmatrix).
Die könnte so aussehen:

Man markiert sich alle Nuller die in der Adjazentmatrix vorkommen (AUßER DIE HAUPTDIAGONALE, DIE BLEIBT UNBERÜHRT).

Dann erstellt man sich eine eigene Matrix die man "DistanzMatrix" nennen kann und setzt alle Nuller die eben in der Adjazentmatrix vorkommen auf "Unendlich" oder auch auf INTEGER.MAX_VALUE in der Programmiersprache .

Das schaut dann so aus:

Also haben wir jetzt 2 Matrizen. Bis dahin habe ich es auch geschafft in meinem Programm. Die Ausgabe schaut bei mir so aus:

Die "-9" sind alle Nuller, die auf UNENDLICH gesetzt sind (siehe zweites Bild).

Der nächste Schritt ist es die Potenzen der Eingangsmatrix (Adjazentmatrix) zu berechnen. Das habe ich ebenfalls schon geschafft im Code.

Das heißt, die Adjazentmatrix (siehe Bild 1) wurde potenziert und so könnte das Ergebnis der Potenzberechnug aussehen.

Man schaut sich jetzt alle Nuller (außer die Hauptdiagonale von der Eingangsmatrix an (siehe Bild 1)) und markiert sich nur die Zahlen (rot), die sich von der Potenzierung der Eingangsmatrix verändert haben. (Außer die Nuller (=Neue Nuller die durch die Potenzierung entstanden sind bleiben auch weiterhin eine Null))

Und der letzte Schritt ist es jetzt, die von mir erstellte DistanzMatrix upzudaten, indem ich im ersten Schritt alle rote Zahlen von A²(G) in 2 umwandle. Alle Nuller die übrig bleiben, werden wieder in UNENDLICH umgewandelt.

Und das wird jetzt so oft wiederholt, bis es keine UNENDLICH Zeichen mehr in der Distanzmatrix gibt. Und aus UNENDLICH wird 3. Und immer so weiter.. Falls es zb nach der fünften Potenzierung immer noch Nuller bzw UNENDLICH Werte gibt dann wird aus UNENDLICH 5.

Somit ist D³(G) das Ergebnis.

Ich hoffe ich konnte es ausführlich genug erklären

Danke

Java - Distanzmatrix Algorithmus, Wie ansetzen?
Computer, Schule, Technik, Programmieren, Java, Informatik, Technologie, Algorithmus, Graphentheorie
Java Array ober und Untergrenze?

Hallo,

Ich Versuche seit mehreren Stunden mir eine Array Auszugeben wo ich eine Ober und untergrenze definiert hab aber ich bekomme es nicht hin ergo. ich bite um Hilfe.

Die Array:

zf = new int[11];
zf[1] = 1;
zf[2] = 2;
zf[3] = 3;
zf[4] = 10;
zf[5] = 9;
zf[6] = 8;
zf[7] = 7;
zf[8] = 6;
zf[9] = 5;
zf[10] = 4;

Sortierung:

    private void sortierungsbegrenzung( int a[], int untergrenze, int obergrenze)
    {
         int i, j, n = (obergrenze-untergrenze)-1;  
         int x;
        for ( i = (untergrenze+2); i <= n; i++ )      
        {    
            boolean getauscht = false;
            for (j = n; j >= i; j-- )           
            {                
                if ( a[j-1] > a[j] )           
                {
                    tauschen(zf, j, 1);
                    getauscht = true;
                }
            } /*end for*/
            if (!getauscht)
            {
                break;
            }
            zfAusgeben(zf);
        } /*end for*/
    }

tauschen:

    private void tauschen(int b[], int k, int t)
    {               
        int x;
        x = b[k-t];
        b[k-t] = b[k];
        b[k] = x;
    }

zfAusgabe:

    private void zfAusgeben(int[] a)
    {
        for (int i=1; i<a.length; i++)
        {
            System.out.print( a[i] + "\t");
        }
        System.out.println();
    }

ich finde den Fehler nicht

MfG

Computer, Programmieren, Java, Informatik

Meistgelesene Fragen zum Thema Java