Java-Code für folgene Aufgabe?

RedGuardian

Mitglied
Abend allerseits,

ich sitze nun an der folgenden Aufgabe und komme wirklich nicht weiter. Die Aufgabe lautet:

- Ein Sportschütze schießt auf eine Zielscheibe mit fünf Felder (1 bis 5, wobei die Felder wie punkte Zählen). Die Treffer werden in eine Tabelle eingetragen.

- In diesem Array treffer soll beim Aufruf der Methode trefferEinfuegen(int pTreffer) die Anzahl der jeweiligen Treffer um 1 erhöht werden. Implementieren sie diese Methode.

Ich habe auch weitere Aufgaben, um diese zu lösen, muss ich aber die erst verstehen.

Mein Quelltext soweit:

Java:
public class sportschutze
{

  int treffer [] = { 2,4,5,2,3};
   
  /**
  * Constructor for objects of class sportschutze
  */
  public sportschutze()
  {

  }

  public void trefferEinfuegen(int pTreffer)
  {
  for(int i = 0; i < treffer.length; i++) {
  treffer[i]++;
  }
  }

}

Ich denke aber, dass mein Ansatz falsch ist und nicht der Aufgabe entspricht. Mir fällt auch nichts anderes ein.

Danke im Vorraus!
 

sascha-sphw

Top Contributor
Ich verstehe die Aufgabe so.
Java:
int treffer [] = {0,0,0,0,0};

public void trefferEinfuegen(int pTreffer)
{
    // ich gehe davon aus, dass 1-5 für die Felder übergeben wird.
    if(pTreffer < 1 || pTreffer > treffer.length) {
        return;
    }
    pTreffer--;
    treffer[pTreffer]++;
}
 

RedGuardian

Mitglied
Sieht schonmal plausiber aus. Ich verstehe den code aber nicht, ich habe den Code Zeilenweise mit wie ich es verstehe oder mit Fragen kommentiert

Eine weitere Aufgabe:

Nach zwanzig Schüssen werden alle Punkte des Durchgangs zusammengerechnet. Programmieren Sie eine solche Methode.

Meine Vorstellung plus zu den Kommentaren sehen dazu wiefolgt aus (funktioniert leider nicht ganz mit der sum... in der Konsole wird ein falscher Wert ausgegeben, wenn ich es allerdings inspect gehe dann stimmt der wert.
Java:
import java.util.stream.*;
public class sportschutze
{

    int treffer [] = {0,0,0,0,0};
    int sum = 0;

    public sportschutze()
    {

    }

    public void trefferEinfuegen(int pTreffer)
    {
        // ich gehe davon aus, dass 1-5 für die Felder übergeben wird.
        if(pTreffer < 1 || pTreffer > treffer.length) { //wenn pTreffer kleiner als 1 oder pTreffer größer als länge des treffer arrays
            return;                                     //dann gebe zurück (was?)
        }
        pTreffer--;                                     // reduziere pTreffer um 1 (wieso?)
        treffer[pTreffer]++;                            //erhöhe treffer um 1
    }

    public void datenLiefern()
    {
        for (int i : treffer)
            sum += i;
           
            System.out.println("The sum is " + sum);
    }
}
 

sascha-sphw

Top Contributor
So nun habe ich die Stellen kommentiert, hoffe es wird klarer.
Java:
public void trefferEinfuegen(int pTreffer)
{
    // ich gehe davon aus, dass 1-5 für die Felder übergeben wird.
  
    // hier wird überprüft, ob der Wert im Array überhaupt existiert. Stichwort "array out of bounds"
    if(pTreffer < 1 || pTreffer > treffer.length) {
        return; // methode beenden ohne aktion. "Nichts zurück geben"
    }
    pTreffer--; // reduziere Array Index um 1 da ein Array bei 0 anfängt.
    treffer[pTreffer]++; // erhöhe den Treffer des übergebenen Feldes.
}

Man könnte die Index Überprüfung auch negieren und den Rest der Methode in die geschweiften klammern. Dann kann das return weg fallen.

Zur weiteren Aufgabe. Hier musst Du nun halt durch das Array iterieren und die einzelnen Werte im Array summieren. Du summierst im Moment nur 0-4 unabhängig dessen was im Array steht.
 

RedGuardian

Mitglied
Und wie geht das genau? Diese Aufgabe ist komplettes Neuland für mich. Könntest du mir keine konkretere Hilfe oder einen Beispieltext geben um die Aufgabe zu lösen?

Das mit "sum" stimmt aber, oder? Denn eine Aufgabe mit "sum" hatten wir noch nie, deswegen bin ich etwas verwundert.
 

sascha-sphw

Top Contributor
Hab mir gerade Deinen Code nochmal näher angesehen und siehe da, der stimmt ja.
Java:
public void datenLiefern()
    {
        for (int i : treffer)
            sum += i;
            System.out.println("The sum is " + sum);
    }

Das int i hat mich total aus der Bahn geworfen... hier würde ich Dir empfehlen auch für die Zukunft andere Namen zu verwenden. So gut wie jeder verwendet int i in der Schleife for(int i=0;i<lenght;i++) als Index, weswegen ich auch erst beim zweiten Mal hinsehen bemerkt habe, dass es bei Dir nicht der Index, sondern der Wert ist.
 

sascha-sphw

Top Contributor
Hier nochmal der Code ein wenig aufgeräumt. ;-)

Java:
import java.util.stream.*;

public class sportschutze
{
    int felder [] = {0,0,0,0,0};

    public void trefferEinfuegen(int feld)
    {
        // ich gehe davon aus, dass 1-5 für die Felder übergeben wird.
        if(feld < 1 || feld > felder.length) { //wenn pTreffer kleiner als 1 oder pTreffer größer als länge des treffer arrays
            return;                                     //dann gebe zurück (was?)
        }
        feld--;                                     // reduziere pTreffer um 1 (wieso?)
        felder[feld]++;                            //erhöhe feld um 1 treffer
    }

    public int datenLiefern()
    {
        int sum = 0;
        for (int treffer: felder) {
            sum += treffer;
        }
        return sum;
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21
V Hilfe mit Java Code Allgemeine Java-Themen 4
S Processing Java Code verstehen Allgemeine Java-Themen 4
N Regulären Ausdruck in normalen Java-Code umwandeln Allgemeine Java-Themen 12
AGW in Java-Code plötzlich ein paar Wörter in Rot Allgemeine Java-Themen 2
T Java-Quiz Code Fehler Allgemeine Java-Themen 10
L Eclipse Java Code ausführen Allgemeine Java-Themen 18
F Java Code ausführen direkt nach Anmelden in Windows Allgemeine Java-Themen 2
S Gibt es eigentlich Java Source Code Interpreter..? Allgemeine Java-Themen 13
I Python Code in Java Code Allgemeine Java-Themen 9
M Java (GUI) Code verdoppeln oder anzeige mehrmals anzeigen? Allgemeine Java-Themen 8
F Verständlichkeitsproblem bei Java Code?! Allgemeine Java-Themen 2
P Java Android Code in IOS compilieren? Allgemeine Java-Themen 9
C ASCII-Code in Java Allgemeine Java-Themen 1
J Java-Code in DLL packen Allgemeine Java-Themen 5
B JAVA - mehrere Clienten gleichzeitig starten. Nicht bei Code! Allgemeine Java-Themen 3
J Java code "plugin" fähig machen Allgemeine Java-Themen 4
D Java Compiler code referencen Allgemeine Java-Themen 0
B Fehler im Java-Code Allgemeine Java-Themen 4
A PHP-Code zu Java-Code Allgemeine Java-Themen 5
H Java Leistungssteigerung durch Code Anpassung Allgemeine Java-Themen 5
J Erzeugung von Java-Code Allgemeine Java-Themen 2
N VB Code in Java verwenden Allgemeine Java-Themen 5
L php code in java ausführbar? Allgemeine Java-Themen 6
D Fehler im Java Code Allgemeine Java-Themen 22
Gossi Java Code in einer GUI eingeben und ausführen? Allgemeine Java-Themen 2
P JAVA Code in Dokumentation erklären Allgemeine Java-Themen 2
B Verwendung von Packages im Java Code Allgemeine Java-Themen 10
A Jars oder JNLPs aus java code in gleicher JVM starten Allgemeine Java-Themen 2
S String to Java-Code Allgemeine Java-Themen 3
S java source code Allgemeine Java-Themen 5
G Java Programm mit Freischalt code entwickeln Allgemeine Java-Themen 30
K Test-Code in Java-Klassen verstecken (wie mit Precompiler möglich) Allgemeine Java-Themen 10
martin82 Java-Code aus Text-Datei parsen Allgemeine Java-Themen 3
P [erledigt] Java-Code in Ausarbeitung dokumentieren Allgemeine Java-Themen 2
J Java Code schützen? Allgemeine Java-Themen 19
K UML Komposition in Java Code Allgemeine Java-Themen 4
hdi Source Code von Sun's Java Klassen Allgemeine Java-Themen 11
T .jar Datei aus Java Code starten Allgemeine Java-Themen 10
Chris81T JNI: Java Methoden von C++ Code aufrufen Allgemeine Java-Themen 8
J YAML + Java: Simpler Code funktioniert nur unter Windows Allgemeine Java-Themen 2
C Listen in Java. Anehängter Code nicht ganz klar Allgemeine Java-Themen 19
S java source code Allgemeine Java-Themen 7
I ASCII Code in Java Allgemeine Java-Themen 3
K Java-Code messen Allgemeine Java-Themen 15
R bestimmten HTML Code per JAva lesen lassen Allgemeine Java-Themen 7
S Java Code in Word Allgemeine Java-Themen 8
leifg komischer Java code Allgemeine Java-Themen 4
I Alter Java Code! Allgemeine Java-Themen 8
D Java Code to Flussdiagramm Allgemeine Java-Themen 8
G Java Code in Programm umwandeln? Allgemeine Java-Themen 12
M pdf maker via java code ansprechen Allgemeine Java-Themen 2
M Code von Java-Klassen in Eclipse Allgemeine Java-Themen 4
G c code übersetzen nach java Allgemeine Java-Themen 2
Reeny JNI - Java-Code mit DELPHI verbinden Allgemeine Java-Themen 2
G Mit Java 1.5 zu 1.4 kompatiblen Code erzeugen Allgemeine Java-Themen 5
C Java Native binding Code will nicht so ganz Allgemeine Java-Themen 2
G C++ Code nach Java übersetzen Allgemeine Java-Themen 14
C Java Code schützen - Key4J Allgemeine Java-Themen 10
S Java Assembly Code Allgemeine Java-Themen 13
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben