Wie kriegt man Berufserfahrung mit 15?

Hi. Also ich denke, was das Programmieren angeht, bin ich auf Fortgeschrittenen Niveau. Ich hab:

  • Einen HTTP-Server in Python programmiert (Nur mit Built-In Libraries, direkt mit Sockets. Und PHP ist auch implementiert, zumindest das meiste).
  • Meine eigene Wallpaper Engine in C# und Python geschrieben.
  • Viele Algorithmen auf EntwicklerHeld gemacht
  • Viele Landing Pages, Chat-Seiten, Foren und Mobile Apps Programmiert (Mobile Apps Backend immer mit PHP oder Python, Frontend mit HTML, CSS und JS)

Ich kenne und hab auch wissen, in den Folgenden Libraries (Python):

  • BeatifulSoup
  • Sockets
  • Threading/Multiprocessing
  • NumPy
  • pywin32 (Tiefe Kenntnisse in die WinAPI)
  • PyWebView
  • Tkinter
  • Pythonnet
  • PyAutoGUI
  • JSON
  • PIL
  • pystray
  • os/sys

Ich verstehe das HTTP-Protokoll und die REST-API, beide auch relativ gut. Ich hab Basic Wissen in C/C++ (beschäftige mich zurzeit damit aber noch), etwas Fortgeschrittenere Kenntnisse in C# und Fortgeschrittene Kenntnisse in HTML, CSS, JavaScript und Java. Java hab ich vor allem für die SpigotAPI oft verwendet. Auf GitHub hab ich lange nichts mehr hochgeladen, mein Syntax hat sich stark verändert. Aber paar Projekte hab ich dort trotzdem: https://github.com/Fidode07

Ich denke mein Wissen reicht, ob zumindest mal in ein paar Praktikums reinzuschnuppern. Also Geld verdienen, geht anscheinend nicht (Wegen meinem Alter .___.). Aber ich will wenigstens etwas Erfahrung sammeln. Ich weiß aber nicht, wo ich am besten Anfang soll zu suchen. Hat da jemand irgendwelche richtigen Tipps. Also nicht sowas wie "Ja, such dir halt Firmen in deiner Nähe". Das hilft nicht, ich will wissen WIE ich suche.

Am liebsten mach ich btw. Backend mit Python und C#. Danke im Vorraus und lg.

Arbeit, HTML, Webseite, Programmierer, Java, Jugendliche, JavaScript, Cplusplus, C Sharp, developer, Jungs, Programmiersprache, Python
Minecraft plugin compilieren?

Hallo,

ich möchte folgendes minecraft plugin compilieren: "https://github.com/IntellectualSites/PlotSquared/"

bekomme dann aber immer folgende fehlermeldung:

Configuration on demand is an incubating feature.
Type-safe project accessors is an incubating feature.
> Configure project :PlotSquared-Core
e: C:\Users\Paul\Desktop\plot squared projekt\PlotSquared-6\PlotSquared-6\Core\build.gradle.kts:53:41: Unresolved reference: grgit
e: C:\Users\Paul\Desktop\plot squared projekt\PlotSquared-6\PlotSquared-6\Core\build.gradle.kts:54:39: Unresolved reference: grgit
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\Paul\Desktop\plot squared projekt\PlotSquared-6\PlotSquared-6\Core\build.gradle.kts' line: 53
* What went wrong:
Script compilation errors:
 Line 53:                "commit" to rootProject.grgit.head().abbreviatedId,
                                                  ^ Unresolved reference: grgit
 Line 54:                "date" to rootProject.grgit.head().dateTime.format(DateTimeFormatter.ofPattern("yy.MM.dd"))
                                                ^ Unresolved reference: grgit
2 errors
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 3s
programmieren, Java, compiler, Minecraft, plugins programmieren
Java-Code?

Wie sieht die Methode Punktspiegelung und horizonalspieglung aus?

Implementieren Sie die Operation punktSpiegeln, die alle Punkte am Mittelpunkt des Bildes spiegelt.

Implementieren Sie in SWBild die Operation horizontalSpiegeln, die das Bild an der horizontalen Achse spiegelt.Für die Lösung zu dieser Operation ist kein zusätzliches Array-Objekt zugelassen, sie muss also „in place“ erfolgen

/**
 * SWBild ist eine Klasse, die Graustufenbilder repraesentiert und
 * manipuliert. Die Implementierung erfolgt durch ein einfaches
 * Bildformat: Die Bildpunkte werden in einem zweidimensionalen
 * Array von 'short'-Werten gehalten. Jeder Feldeintrag kann einen
 * Wert zwischen 0 und 255 annehmen. Andere Werte sind unzulaessig.
 * Der Wertebereich [0..255] repraesentiert den Graustufenbereich:
 * 0 fuer Schwarz, 255 fuer Weiss und dazwischenliegende Werte fuer
 * die Grauabstufungen.
 * 
 * Beispielmethode 'dunkler': Ein geladenes Bild kann um
 * ein gegebenes 'delta' abgedunkelt werden.
 * 
 */
class SWBild
{
    private int anzahlPiksel=0;


    // die Bilddaten dieses Bildes
    private short[][] _bilddaten;


    // die Breite dieses Bildes
    private int _breite;


    // die Hoehe dieses Bildes
    private int _hoehe;


    // Leinwand zur Anzeige
    private Leinwand _leinwand;


    /**
     * Initialisiert ein Bild mit einer Bilddatei. Der Benutzer kann interaktiv mit
     * Hilfe eines Dateidialogs die zu ladende Datei auswaehlen.
     */
    public SWBild()
    {
        _bilddaten = BildEinleser.liesBilddaten();
        if (_bilddaten != null)
        {
            aktualisiereBildgroesse(_bilddaten);
            erzeugeLeinwand();
        }
    }


    /**
     * Initialisiert ein Bild mit einer Bilddatei. Der Dateiname kann als absoluter
     * oder relativer Pfad uebergeben werden.
     * 
     * @param bilddateiName
     *            der Name der Bilddatei
     */
    public SWBild(String bilddateiName)
    {
        _bilddaten = BildEinleser.liesBilddaten(bilddateiName);
        aktualisiereBildgroesse(_bilddaten);
        erzeugeLeinwand();
    }

/**
     * Erzeuge bei diesem Bild einen Spot mit Radius r, Mittelpunkt x0,y0 und
     * Beleuchtungsintensitaet i. Ausserhalb von r nimmt die Ausleuchtung linear ab.
     * Wie im wirklichen Leben...
     * 
     * @param xo
     *            x-Koordinate des Mittelpunktes
     * @param yo
     *            y-Koordinate des Mittelpunktes
     * @param r
     *            Radius
     * @param i
     *            Beleuchtungsintesitaet
     */
    public void spot(int x0, int y0, int r, short i)
}


Mathematik, programmieren, Java, Informatik, Python, Softwareentwicklung, Wirtschaftsinformatik, technische informatik, angewandte Informatik
Java-Code, Array?

Kann jemand mir die Methoden, heller, spot, weichzeichnen, horizontalspieglung, punktSpieglung erklären?

* SWBild ist eine Klasse, die Graustufenbilder repraesentiert und

 * manipuliert. Die Implementierung erfolgt durch ein einfaches
 * Bildformat: Die Bildpunkte werden in einem zweidimensionalen
 * Array von 'short'-Werten gehalten. Jeder Feldeintrag kann einen
 * Wert zwischen 0 und 255 annehmen. Andere Werte sind unzulaessig.
 * Der Wertebereich [0..255] repraesentiert den Graustufenbereich:
 * 0 fuer Schwarz, 255 fuer Weiss und dazwischenliegende Werte fuer die Grauabstufungen.
 */

class SWBild
{
     

    /**
     * Dieses Bild weichzeichnen.
     */
    public void weichzeichnen()
    {
        for (int y = 0; y < _hoehe; y++)
        {
            for (int x = 0; x < _breite; x++)
            {
                int _nebenBildpunkte = 0; 
                int anzahlPiksel=0;          
                _nebenBildpunkte += weichzeichnen(y+1, x);
                _nebenBildpunkte += weichzeichnen(y+1, x+1);
                _nebenBildpunkte += weichzeichnen(y+1, x-1);
                _nebenBildpunkte += weichzeichnen(y, x+1);
                _nebenBildpunkte += weichzeichnen(y, x-1);
                _nebenBildpunkte += weichzeichnen(y-1, x+1);
                _nebenBildpunkte += weichzeichnen(y-1, x);
                _nebenBildpunkte += weichzeichnen(y-1, x-1);
                _nebenBildpunkte = _nebenBildpunkte/anzahlPiksel;
                _bilddaten[y][x] = (short) _nebenBildpunkte;
            }
        }
        zeichneBild();
    }

    public int weichzeichnen(int y, int x) {
        if (x >= 0 && x < _breite && y >= 0 && y < _hoehe) {
            anzahlPiksel++;
            return _bilddaten[y][x];
        }
        else
        {
            return 0;
        }
    }

    /**
     * Erzeuge bei diesem Bild einen Spot mit Radius r, Mittelpunkt x0,y0 und Beleuchtungsintensitaet i. Ausserhalb von r nimmt die Ausleuchtung linear ab.
     * Wie im wirklichen Leben...
     * @param xo
     *            x-Koordinate des Mittelpunktes
     * @param yo
     *            y-Koordinate des Mittelpunktes
     * @param r
     *            Radius
     * @param i
     *            Beleuchtungsintesitaet
     */
    public void spot(int x0, int y0, int r, short i)
    {
        short i0 = 0;
        for (int k = _breite/2; k >= r; k--) {
            for (int y=0; y<_hoehe; y++){
                for (int x=0; x<_breite;x++){
                    if(((x-x0)*(x-x0))+((y-y0)*(y-y0))<=k*k){ 
                        if (_bilddaten[y][x] + i0 > 255) {
                            _bilddaten[y][x] = 255;
                        } else if (_bilddaten[y][x] + i0 < 0) {
                            _bilddaten[y][x] = 0;
                        } else {
                            _bilddaten[y][x] = (short) (_bilddaten[y][x] + i0);
                         
                        }
                    }
                    if (i > i0){
                        i0++;
                    }
                }
            }
        }
        zeichneBild();
    }  
Computer, programmieren, Java, Informatik, Softwareentwicklung, Wirtschaftsinformatik
Könnt ihr mir bei dieser Java-Aufgabe helfen?
Einige Methoden werden in allen Implementierungen gleich sein. Erstellen Sie eine abstrakte Klasse BasisRennbahn, die diese Methoden enthält und leiten Sie dann von dieser Klasse ab. Welche Methoden können Sie ohne Probleme in die Basisklasse verschieben? Warum gibt es bei manchen Methoden Probleme?
public class Rennauto {
    private final String name;
    private final String typ;
    private final int max;
    private int strecke;    
 
     * @param name Name der Fahrerin oder des Fahrers
     * @param typ Fahrzeugmarke und Typ
     * @param max maximale Geschwindigkeit
  
    public Rennauto(String name, String typ, int max) {
        this.name = name;
        this.typ = typ;
        this.max = max;
    }
    
     * Fährt mit zufälliger Geschwindigkeit eine Strecke.
    
    public void fahre() {
        strecke += Math.random() * max;
    }    

     * Liefert die aktuelle Position des Rennautos.
    
    public int getStrecke() {
        return strecke;
    }


    @Override
    public String toString() {
        return name + " in " + typ + " (" + strecke + ")";
    }
  public interface Rennbahn {

     * Setzt die Laenge der Rennbahn. Typische Werte werden zwischen 100 und 1000 liegen.
   
  void setzeLaenge(int laenge);


     * Setzt ein Rennauto auf eine Spur, falls möglich
     * @param auto das Auto, das auf die Rennbahn gesetzt wird.  Dieses darf nicht null sein!
     * @return true, falls das Auto auf die Bahn gesetzt werden konnte. Falsch, wenn das Rennauto bereits auf der Fahrbahn ist oder keine Spur (je nach
     *Implementierung unterschiedlich viele) mehr frei ist.

    boolean setzeAufSpur(Rennauto auto);


     * Simuliert einen Zeitabschnitt, i.A. wird hier einfach nur
     * {@link Rennauto#fahre()} für alle am Rennen beteiligten Autos aufgerufen.
    
    void simuliereZeitabschnitt();


     * Liefert den Sieger. Falls mehrere Autos im Ziel sind, gewinnt das Auto, das am weitesten gefahren ist.
     * Wenn Autos exakt gleich weit gefahren sind, gewinnt eines von beiden (welches ist nicht genauer spezifiziert).
     * @return Sieger oder null, falls es keinen Sieger gibt.
  
    Rennauto liefereSieger();


         * Führt das Rennen mittels {@link #simuliereZeitabschnitt()} und
     * {@link #liefereSieger()} durch. Die Methode gibt nichts zurück, der Sieger kann über {@link #liefereSieger()} ermittelt werden.
     * @throws IllegalStateException, falls die Länge nicht gesetzt wurde oder keine
     * Autos auf der Rennbahn stehen.
   
 void rennenDurchfuehren();


     * Entfernt ein Rennauto von der Rennbahn und gibt die Spur wieder frei. 
     * @param auto das zu entfernende Rennauto
    
    void entferne(Rennauto auto);
    
  
     * Prüft, ob wenigstens ein Auto auf der Rennbahn steht.
     * @return false, falls wenigstens ein Auto auf der Rennbahn steht, sonst true
    
    boolean istLeer();
programmieren, Java, Informatik, Programmiersprache, Softwareentwicklung, Wirtschaftsinformatik, Wirtschaftsmathematik, Wirtschaftswissenschaft, technische informatik, angewandte Informatik
Java-Code? Array?

Wie wird das Array verwendet? Was befindet sich in dem Array? kann jemand mir den Code und die Methode dunkler erklären?

* SWBild ist eine Klasse, die Graustufenbilder repraesentiert und
 * manipuliert. Die Implementierung erfolgt durch ein einfaches
 * Bildformat: Die Bildpunkte werden in einem zweidimensionalen
 * Array von 'short'-Werten gehalten. Jeder Feldeintrag kann einen
 * Wert zwischen 0 und 255 annehmen. Andere Werte sind unzulaessig.
 * Der Wertebereich [0..255] repraesentiert den Graustufenbereich:
 * 0 fuer Schwarz, 255 fuer Weiss und dazwischenliegende Werte fuer
 * die Grauabstufungen.
 * 
 * Beispielmethode 'dunkler': Ein geladenes Bild kann um
 * ein gegebenes 'delta' abgedunkelt werden.
class SWBild
{


    // die Bilddaten dieses Bildes
    private short[][] _bilddaten;


    // die Breite dieses Bildes
    private int _breite;


    // die Hoehe dieses Bildes
    private int _hoehe;


    // Leinwand zur Anzeige
    private Leinwand _leinwand;


    /**
     * Initialisiert ein Bild mit einer Bilddatei. Der Benutzer kann interaktiv mit
     * Hilfe eines Dateidialogs die zu ladende Datei auswaehlen.
     */
    public SWBild()
    {
        _bilddaten = BildEinleser.liesBilddaten();
        if (_bilddaten != null)
        {
            aktualisiereBildgroesse(_bilddaten);
            erzeugeLeinwand();
        }
    }


    /**
     * Initialisiert ein Bild mit einer Bilddatei. Der Dateiname kann als absoluter
     * oder relativer Pfad uebergeben werden.
     * 
     * @param bilddateiName
     *            der Name der Bilddatei
     */
    public SWBild(String bilddateiName)
    {
        _bilddaten = BildEinleser.liesBilddaten(bilddateiName);
        aktualisiereBildgroesse(_bilddaten);
        erzeugeLeinwand();
    }


    /**
     * Dieses Bild um einen Wert abdunkeln. 
     * 
     * @param delta
     *            Wert der Abdunkelung. Es wird mit dem Betrag von delta gerechnet, 
     *            deshalb darf der Parameter sowohl positiv als auch negativ sein.  
     */
    public void dunkler(int delta)
    {
        if (delta < 0)
        {
            delta = -delta;
        }


        /**
         * Durch alle Bytes des Bildes gehen und jeden Wert dekrementieren
         */
        for (int y = 0; y < _hoehe; y++)
        {
            for (int x = 0; x < _breite; x++)
            {
                if ((_bilddaten[y][x] - delta) > 0) // Wert darf 0 nicht unterschreiten
                {
                    _bilddaten[y][x] = (short) (_bilddaten[y][x] - delta);
                }
                else
                {
                    _bilddaten[y][x] = 0;
                }
            }
        }
        // Neuzeichnen der Bildleinwand, basierend auf den Werten in _bilddaten:
        zeichneBild();
    }




Mathematik, programmieren, Java, Informatik, Softwareentwicklung, Wirtschaftsinformatik
Minecraft Client Exportieren Fehler?

Hey,

Ich habe höchstwahrscheinlich einen Fehler beim Exportieren gemacht. Denn wenn ich den Client mit Eclipse starte, startet der Client ganz normal. Wenn ich den Client aber mit dem normalen Minecraft Launcher starte crasht der Client.

---- Minecraft Crash Report ----
// I bet Cylons wouldn't have this problem.

Time: 17.12.22 12:25
Description: Initializing game

java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
    at net.minecraft.client.Minecraft.readImageToBuffer(Minecraft.java:833)
    at net.minecraft.client.Minecraft.func_175594_ao(Minecraft.java:674)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:471)
    at net.minecraft.client.Minecraft.run(Minecraft.java:392)
    at net.minecraft.client.main.Main.main(Main.java:114)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
    at net.minecraft.client.Minecraft.readImageToBuffer(Minecraft.java:833)
    at net.minecraft.client.Minecraft.func_175594_ao(Minecraft.java:674)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:471)

-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:392)
    at net.minecraft.client.main.Main.main(Main.java:114)

-- System Details --
Details:
    Minecraft Version: 1.8
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_51, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 60446640 bytes (57 MB) / 134217728 bytes (128 MB) up to 2147483648 bytes (2048 MB)
    JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    Launched Version: HzzH
    LWJGL: 2.9.1
    OpenGL: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
    GL Caps:
    Using VBOs: No
    Is Modded: Very likely; Jar signature invalidated
    Type: Client (map_client.txt)
    Resource Packs: [vanilla, programer_art]
    Current Language: ~~ERROR~~ NullPointerException: null

    Profiler Position: N/A (disabled)

Das ist der "Absturzbericht"

Danke!

Bild zu Frage
Java, Minecraft, Eclipse, Export, exportieren
Java - wievielter Tag im Jahr berechnen?

Hallo, ich habe folgende Aufgabenstellung: Schreiben Sie ein Programm, das für ein gegebenes Datum bestehend aus Tag, Monat und Jahr ausrechnet, um den wievielten Tag im Jahr es sich handelt. (Achtung: Schaltjahrproblematik nicht vergessen.)

Mein Code:

import java.util.Scanner;
public class TagImJahr
{
    public static void main(String[] args)
    {
        Scanner read = new Scanner(System.in);

        int tag, monat, jahr, anzahlTage, wievielterTag, monatTag;
        boolean Schaltjahr;

        System.out.println("Geben Sie einen Tag ein: ");
        tag = read.nextInt();

        System.out.println("Geben Sie einen Monat ein: ");
        monat = read.nextInt();

        System.out.println("Geben Sie ein Jahr ein: ");
        jahr = read.nextInt();

        Schaltjahr = (jahr%4 == 0) && (jahr%100 != 0) || (jahr%400 == 0);

        if(Schaltjahr && monat == 2)
        {
            anzahlTage = 366;                                       //Anzahl der Tage im Jahr
            monatTag = 29;                                          //Tage im Monat
        }
        else
        {
            anzahlTage = 365;                                       //Anzahl der Tage im Jahr
            monatTag = 31;                                          //Tage im Monat
        }

        int datum = anzahlTage + (monat * monatTag - monatTag) + tag;

        wievielterTag = datum - anzahlTage;

        System.out.println("Der " + tag + "." + monat + "." + jahr + " ist der " + wievielterTag + ". Tag im Jahr");
    }
}

Jedoch fehlt bei mir irgendwas, evtl. das manche Monate 31 und 30 Tage haben, wie baue ich dies jedoch am Besten ein? Bei ein paar Datumseingaben kommt das richtige Ergebnis, bei anderen weichen die Tage um paar Zahlen ab.

Kann mir bitte jemand weiterhelfen?

Studium, programmieren, Java
Dringend Hilfe: Java Code?

Kann jemand mir diese Java-Code erklären? Ich komme mit dem Code nicht zurecht. Wie kann man noch einfacher schreiben?

Die Aufgabenstellung: Verwenden Sie die Bit-Operationen von Java, um den Zustand einer Zelle des Spielfeldes in jeweils zwei Bits der int-Variablen abzulegen (warum gerade zwei?). 

/**
 * Write a description of class SpielfeldInteger here.
 */

public class SpielfeldInteger implements Spielfeld
{
    private int spielInt;


    /**
     * Initialisiert ein neues, leeres Spielfeld.
     */

    public SpielfeldInteger() {
        spielInt = 0x00000;//2AAAA
        // 0000 0000 0000 0000 0000;
    }


    /**
     * Gibt den Besitzer der angegebenen Position auf dem Spielfeld.
     *
     * @param zeile  vertikale Position (0-2)
     * @param spalte horizontale Position (0-2)
     * @return 0 (unbesetzt), 1 (Spieler 1), 2 (Spieler 2)
     */

    public int gibBesitzer(int zeile, int spalte) {
        int schiebung = (zeile*3*2)+(spalte*2);
        int geschobenerInt = spielInt>>>schiebung;

        //System.out.println(Integer.toBinaryString(geschobenerInt));     
        //System.out.println((geschobenerInt&3));

        if((geschobenerInt&3) == 2) {
            return 1;

        } else if((geschobenerInt&3) == 3) {
            return 2;

        } else {
            return 0;
        }
    }

 

    /**
     * Besetzt die angegebene Position auf dem Spielfeld fuer einen Spieler.
     *
     * @param zeile   vertikale Position (0-2)
     * @param spalte  horizontale Position (0-2)
     * @param spieler 0 (leer), 1 (Spieler 1), 2 (Spieler 2)
     */

    public void besetzePosition(int zeile, int spalte, int spieler) {

        int setzung;

        if(spieler == 1 || spieler == 2) {
            setzung = (spieler+1)<<(zeile*3*2)+(spalte*2);
            spielInt = spielInt|setzung;
        }

        else if(spieler == 0) {
            setzung = ~(3<<(zeile*3*2)+(spalte*2));
            spielInt = spielInt&setzung;
        }    
    }

 

    /**
     * Gibt an, ob das Spielfeld an allen Positionen belegt ist.
     */

    public boolean istVoll() {
        return ((spielInt&0x2AAAA) == 0x2AAAA);
    }
}
Mathematik, programmieren, Java, Informatik, Softwareentwicklung, Wirtschaftsinformatik
Array List bearbeiten?
Hallo zusammen

Benötige eure Unterstützung bei zwei Aufgaben die ich versucht habe zu lösen.

Leider bisher ohne Erfolg.

Aufgabe 1

Die Klasse Person sieht wie folgt aus:

public class Person {
   public String name;
   public int jahrgang;
   
   public Person(String n, int j) {
      this.name = n;
      this.jahrgang = j;
   }
}

Ersetze den Namen der zweiten Person mit "Peter" in dem du den Namen im bestehenden Objekt anpasst. Das bestehende Objekt soll also nicht überschrieben, sondern nur geändert werden.

import java.util.ArrayList;
public class Test {

   public static void main(String[] args) {
   
      ArrayList<Person> personen = new ArrayList<Person>();
      Person p1 = new Person("Hans",1997);
      Person p2 = new Person("Petra",1998);
      personen.add(p1);
      personen.add(p2);

Meine falsche Antwort:

Person p2 = Person("Peter", 1998);

Weitere Aufgabe:

Die Klasse Person2 sieht wie folgt aus:

public class Person2 {
   private String name;
   
   public Person2(String n) {
      this.name = n;
   }
   
   public String getName() {
      return name;
   }
   
   public void setName(String n) {
      name = n;
   }
}

Ersetze den Namen der zweiten Person mit "Fred" in dem du den Namen im bestehenden Objekt anpasst. Das bestehende Objekt soll also nicht überschrieben, sondern nur geändert werden.

import java.util.ArrayList;
public class Test {

   public static void main(String[] args) {
   
      ArrayList<Person2> personen2 = new ArrayList<Person2>();
      personen2.add(new Person2("Franz"));
      personen2.add(new Person2("Franziska"));


Meine falsche Antwort: 
personen2.set(1, new Person("Fred"));


Vielen Dank euch für die Hilfe und Erklärungen.

Java, Array
Array list?? Namenausgabe nach Typ?
Aufgabenstellung

Die folgende Anwendung erfasst Namen und Rollen in einem Multiplayer-Game mit fünf Spielern. Spieler haben entweder die Rolle Offender (abgekürzt mit O) oder Invador (abgekürzt mit I). Sowohl Name wie auch Rolle werden über die Konsole eingegeben.

Nach dem alle fünf Spieler erfasst wurden, sollen die Namen der Spieler nach Rollen getrennt auf die Konsole ausgegeben werden.

Zum Speichern der Angaben eines Spielers wird die Klasse Player verwendet. Die Objekte aller Spieler werden in der ArrayList players gespeichert. Die Klasse Player ist bereits vorhanden und muss nicht geändert werden.

Aufgaben:

  1. Das Einlesen von Namen und Rollen ist bereits vorhanden. Ergänze die Klasse Main um das Speichern der Eingaben in der ArrayList.
  2. Ergänze die Klasse Main um die Ausgabe der Namen getrennt nach Rollen so wie im Beispiel unten gezeigt.

import java.util.ArrayList;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

ArrayList<Player> players = new ArrayList<Player>();

Scanner keyScan = new Scanner(System.in);

for (int i=0; i<5; i++) {

System.out.print("Name: ");

String name = keyScan.nextLine();

System.out.print("Role (O or I): ");

String role = keyScan.nextLine();

// TODO: Player der ArrayList hinzufügen

}

System.out.println("\nOffenders:");

// TODO: Namen aller Offenders ausgeben

System.out.println("\nInvaders:");

// TODO: Namen aller Invaders ausgeben

keyScan.close();

}

}

----

Muss man nichts mehr machen.

public class Player {

String name;

String role;

public Player(String name, String role) {

this.name = name;

this.role = role;

}

public String getName() {

return name;

}

public String getRole() {

return role;

}

}

Vielen Dank euch für die Hilfe.

Java, Array, Programmiersprache
Eine Methode um zu testen ob es ein Nachbar gibt?

Hallo, ich muss bei meiner Aufgabe die Klasse Field um eine Methode boolean hasNeighbor(int, int, int) erweitern, sodass die ersten Parameter x- und y-Koordinaten sind und der dritte Parameter die Richtung. Die Methode soll zurückgeben ob es an der übergebenen Stelle, in die Richtung eine Verbindung zum Nachbarn gibt. Aber das schwierige ist, dass es ohne Schleife oder Verzweigung aus der erstellten getNeighborhood Methode mit Bitoperationen bestimmt werden muss. Ich hoffe jemand kann mir helfen, da ich noch ein Anfänger bin.

class Field
{
    /**
     * Die Dateinamen der Bodengitterelemente, die direkt mit einer
     * Rotation 0 verwendet werden können. Der Index ergibt sich
     * aus der Summe der folgenden Zahlen:
     * 1: In Richtung 0 (+1, 0) gibt es eine Verbindung.
     * 2: In Richtung 1 (0, +1) gibt es eine Verbindung.
     * 4: In Richtung 2 (-1, 0) gibt es eine Verbindung.
     * 8: In Richtung 3 (0, -1) gibt es eine Verbindung.
     */
    private static final String[] NEIGHBORHOOD_TO_FILENAME = {
        "grass",
        "path-e-0",
        "path-e-1",
        "path-l-0",
        "path-e-2",
        "path-i-0",
        "path-l-1",
        "path-t-1",
        "path-e-3",
        "path-l-3",
        "path-i-1",
        "path-t-0",
        "path-l-2",
        "path-t-3",
        "path-t-2",
        "path-x"
    };


    /**
     * Die Feldbeschreibung. Jede zweite Spalte und Zeile enthält die
     * eigentlichen Zellen. Dazwischen sind die Nachbarschaften
     * vermerkt.
     */
    private final String[] field;


    Field(final String[] field)
    {
        this.field = field;


        for (int y = 0; y < field.length; y += 2) {
            for (int x = 0; x < field[y].length(); x += 2) {
                new GameObject(x / 2, y / 2, 0, NEIGHBORHOOD_TO_FILENAME[getNeighborhood(x, y)]);
            }
        }
    }

    private char getCell(final int x, final int y)
    {
        if (x >= 0 && y >= 0 && y < field.length && x < field[y].length()) {
            return field[y].charAt(x);
        }
        else {
            return ' ';
        }
    }


private int getNeighborhood(final int x, final int y)
    {
        // Die (x, y)-Versätze für die einzelnen Prüfrichtungen
        final int[][] neighbors = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};

        int neighborhood = 0;

        int bit = 1;

        for (final int[] offsets : neighbors) {
            if (getCell(x + offsets[0], y + offsets[1]) != ' ') {
                neighborhood += bit;
            }
            bit *= 2;
        }
        return neighborhood;
    }

    static void test()
    {
        new GameObject.Canvas(5, 5, 96, 96);
        new Field(new String[] {
            "O-O-O-O  ",
            "|   |    ",
            "O O-O-O O",
            "| | | | |",
            "O-O-O-O-O",
            "| | | | |",
            "O O-O-O O",
            "    |   |",
            "O-O-O-O-O"
        });
    }
}
Java, Array, Programmiersprache
java_Code?

Kann einer diese beide Methode erklären? wie läuft switch-case hier?

 /**
     * Gibt den Besitzer der angegebenen Position auf dem Spielfeld.
     *
     * @param zeile  vertikale Position (0-2)
     * @param spalte horizontale Position (0-2)
     * @return 0 (unbesetzt), 1 (Spieler 1), 2 (Spieler 2)
     */
    @Override
    public int gibBesitzer(int zeile, int spalte) {
        int besitzer = 0;
        char zeichen = feld.charAt(gibPosition(zeile, spalte));
        switch (zeichen){
            case '0':
                besitzer = 0;
                break;
            case '1':
                besitzer = 1;
                break;
            case '2':
                besitzer = 2;
                break;
        }
        return besitzer;
    }


    /**
     * Besetzt die angegebene Position auf dem Spielfeld fuer einen Spieler.
     *
     * @param zeile   vertikale Position (0-2)
     * @param spalte  horizontale Position (0-2)
     * @param spieler 0 (leer), 1 (Spieler 1), 2 (Spieler 2)
     */
    @Override
    public void besetzePosition(int zeile, int spalte, int spieler) {
        int position = gibPosition(zeile, spalte);
        feld = feld.substring(0, position) + spieler + feld.substring (position + 1);
    }
Mathematik, programmieren, Java, Informatik, Softwareentwicklung, Wirtschaftsinformatik, Wirtschaftsmathematik
Java-Code erklären?
Ich bitte um eine ausführliche Erklärung!
 * Ein Spielfeld besteht aus drei Zeilen mit je drei Spalten. Man kann an den
 * neun Positionen einen der beiden Spieler als Besitzer eintragen und auslesen.
 */
public class SpielfeldString implements Spielfeld 
{
    private String feld;


    /**
     * Initialisiert ein neues, leeres Spielfeld.
     */
    public SpielfeldString() {
        feld = "000000000";
        //012345678
    }


    /**
     * Die Methode berechnet die bestimmte Position.
     *
     * @param zeile   vertikale Position (0-2)
     * @param spalte  horizontale Position (0-2)
     * @return eine Int-Zahl von 0 bis 8
     */
    private int gibPosition(int zeile, int spalte){
        if (zeile < 0 || zeile > 2 || spalte < 0 || spalte > 2){
            throw new IllegalArgumentException("Spalte oder Zeile ist ausser dem Feld!");
        }
        return zeile * 3 + spalte;
    }


    /**
     * Gibt den Besitzer der angegebenen Position auf dem Spielfeld.
     *
     * @param zeile  vertikale Position (0-2)
     * @param spalte horizontale Position (0-2)
     * @return 0 (unbesetzt), 1 (Spieler 1), 2 (Spieler 2)
     */
    @Override
    public int gibBesitzer(int zeile, int spalte) {
        int besitzer = 0;
        char zeichen = feld.charAt(gibPosition(zeile, spalte));
        switch (zeichen){
            case '0':
                besitzer = 0;
                break;
            case '1':
                besitzer = 1;
                break;
            case '2':
                besitzer = 2;
                break;
        }
        return besitzer;
    }


    /**
     * Besetzt die angegebene Position auf dem Spielfeld fuer einen Spieler.
     *
     * @param zeile   vertikale Position (0-2)
     * @param spalte  horizontale Position (0-2)
     * @param spieler 0 (leer), 1 (Spieler 1), 2 (Spieler 2)
     */
    @Override
    public void besetzePosition(int zeile, int spalte, int spieler) {
        int position = gibPosition(zeile, spalte);
        feld = feld.substring(0, position) + spieler + feld.substring (position + 1);
    }


    /**
     * Gibt an, ob das Spielfeld an allen Positionen belegt ist.
     */
    @Override
    public boolean istVoll() {
        return feld.indexOf("0") == -1; // da wenn es kein 0 mehr in der Zeichenkette gibt,
        // wird -1 zurückgegeben.
    }
}
Mathematik, programmieren, Java, Informatik, Softwareentwicklung, Wirtschaftsinformatik
JAVA Arraylist Berechnen mit int und double und Abspeichern von Zwischenwerten?

Hallo Zusammen

Ich muss in einer Aufgabe int und Double Werte miteinander multiplizieren, siehe im Code bei TODO.

import java.util.ArrayList;

public class Einkauf {
	
	private ArrayList<Produkt> produkte = new ArrayList<Produkt>();

	public void addEinkauf(double preis, 
	                        int faktor, 
	                        int menge, 
	                        String name) {
		produkte.add(new Produkt(preis, faktor, menge, name));
	}
	
	public double getPunkte() {
		
// TODO: Punkte des Einkaufs berechnen und zurückgeben
    double punkte;  // sollte richtig sein 
    for (Produkt p : produkte){
        punkte = (preis*menge*faktor); // hier ist ein Fehler 
        produkte.save(punkte);
        return punkte;
    }
	}
}

Es sollen die Treuepunkte wie folgt berechnet werden: Pro CHF Umsatz gibt es einen Punkt. Rappenbeträge werden berücksichtigt: Kostet ein Produkt CHF 3.20, ergibt dies 3.2 Punkte. Zusätzlich kann bei jedem Produkt ein Faktor angegeben werden. Damit kann der Grossverteiler für bestimmte Produkte mehr Punkte ausschütten. Wenn beispielsweise ein Produkt für CHF 3.20 einen Faktor von 10 hat, gibt es für dieses Produkt 32 Punkte.

Für den oben gezeigten Einkauf beträgt das Punkte-Total 207.15.

Sprich, bei jedem Einkauf soll der zwischenwert gespeichert werden.

programmieren, Java, Array, Programmiersprache, Arraylist
JAVA Klassenmethoden- Methoden aufrufen und neue Werte abspeichern. Aber wie?
Hallo Zusammen

Ich brauche bei dem untersten Code Hilfe, weiss leider nicht wo mein Fehler ist..

Aufgabenstellung

Du implementierst eine Plattform, in der Artikel versteigert werden können. Zum Speichern eines Artikels verwendest du die folgende Klasse:

public class Artikel {
   public String name;
   public int preis = 0;
   public int gebote = 0;

   public Artikel(String name, int preis) {
      this.name = name;
      this.preis = preis;
   }
}

Das Attribut name enthält die Beschreibung des Artikels. Das Attribut preis enthält zu Beginn das Mindestgebot und später das bisher höchste Gebot. Die Attribute name und preis werden beide über den Konstruktor gesetzt. Im Attribut gebote wird die Anzahl gültiger Gebote gespeichert. Zu Beginn enthält das Attribut den Wert 0. Ein Gebot ist gültig, wenn eine der folgenden Bedingungen erfüllt ist:

  • Wenn noch kein Gebot abgegeben wurde und der gebotene Betrag mindestens gleich hoch ist wie das Mindestgebot.

Wenn das Gebot höher ist als das bisher höchste Gebot.

Ergänze die Methode so dass sie prüft, ob das übergebene Gebot gültig ist. Bei einem ungültigen Gebot soll nichts gemacht werden. Bei einem gültigen Gebot soll der Preis des Artikels angepasst und die Anzahl gültiger Gebote um eins erhöht werden.

Die Main-Klasse enthält Tests für drei Artikel. Schau dir die Tests an. Wenn du die Methode wie beschrieben erweitert hast, sollte das Programm die folgende Ausgabe machen:

Schrank: Gebote: 0, Preis: 100
Bett: Gebote: 2, Preis: 161
Stuhl: Gebote: 3, Preis: 30

Mein Code sieht folgendermassen aus:
Main Class: 
public class Main {
	
  public static void main(String[] args) {
    
		// In dieser Klasse keine Änderungen machen
		
		Artikel a = new Artikel("Schrank", 100);
		Artikel b = new Artikel("Bett",150);
		Artikel c = new Artikel("Stuhl", 20);
		
		a.biete(99);  // ungültig (Preis unter Minimum)
		b.biete(160);
		b.biete(159); // ungültig (Preis unter höchstem Gebot)
		b.biete(161); 
		c.biete(20);
		c.biete(23);
		c.biete(23);  // ungültig (Preis gleich hoch wie höchstes Gebot)
		c.biete(30);
		
		System.out.println(a.name+": Gebote: "+a.gebote+", Preis: "+a.preis);
		System.out.println(b.name+": Gebote: "+b.gebote+", Preis: "+b.preis);
		System.out.println(c.name+": Gebote: "+c.gebote+", Preis: "+c.preis);
	}
}
Klasse Artikel: 
public class Artikel {
	public String name; //Beschreibung des Artikels 
	public int preis = 0; // enthält erst das Mindestangebot und später das Höchstgebot 
	public int gebote = 0; 
	
	public Artikel(String name, int preis) {
		this.name = name;
		this.preis = preis;
	} 
	
	public void biete(int gebot) {
	  // TODO: Methode implementieren
	  while ((gebote==0 && gebot>preis) || (gebote>0 && gebot>preis)){
	  if ((gebote==0) && (gebot>=preis)) {
            artikel.preis==gebot;
            gebote++;
	      }
	  
	  if (gebote>0 && (preis>gebot){
	      preis==gebot; 
	      gebote++;
    }
    } 
    }
	}

Java, Programmiersprache

Meistgelesene Fragen zum Thema Java