Collections Aufgaben Java-Programmierung Überforderung

Hallo zusammen,
nach der 3. Vorlesung 1. Semester Programmierung habe ich diese Aufgaben bekommen und weiß nicht mehr weiter. Mit den Basics bin ich vertraut, aber an der Umsetzung dieser Aufgaben bin ich trotzdem gescheitert.
Vielleicht könnt ihr mir mit Lösungsansätzen bei den folgenden Aufgaben behilflich sein.
Schon mal ein großes Dankeschön



1.Summenfeld

Erzeugen Sie ein Array für 25 ganzzahligen Elemente.
Füllen Sie das Array mit den Quadraten des jeweiligen Index (a[4] = 4*4)
Durchlaufen Sie das Array und ermitteln Sie die Summe aller Inhalte und geben Sie diese aus.

2.Lottozahlen-Paare
Erzeugen Sie – wie in der Vorlesung vorgeführt – Lottozahlen. Wiederholen Sie die Ziehung
mehere tausend Mal und ermitteln Sie, wie hoch die Wahrscheinlichkeit ist, dass bei einer
Lottoziehung Zahlenpärchen (2-3, 17-18, 42-43 o. ä) auftreten.
Tipp: Bedenken Sie, dass die Division der Günstigen durch die Möglichen bei ganzzahligen
Datentypen immer 0 ergibt, weil ganzzahlige Werte eben keine Nachkommastellen haben.
Schiffe verstecken
Verstecken Sie vier Schiffe! Dazu legen Sie zwei Arrays an, die die X- und die Y-Koordinate der

3.Schiffe darstellen.
final int SCHIFFE = 4;
int[] schiffx = new int[SCHIFFE];
int[] schiffy = new int[SCHIFFE];
Positionieren Sie die vier Schiffe im Bermudadreieck. Wie Sie sicher wissen, liegt die XKoordinate
des Bermudadreiecks zwischen 0 und 9 und die Y-Koordinate zwischen 0 und 7. Das
Programm soll dafür sorgen, dass keine zwei Schiffe auf der gleichen Position sind.
Geben Sie zu guter Letzt die Positionen der Schiffe auf dem Bildschirm aus.
 

Robat

Top Contributor
Hast du denn so gar keinen Ansatz?
So wie das für mich klingt müsstest ihr alles schon mal so oder so ähnlich behandelt haben.
 

Javinner

Top Contributor
Hast du schon eine Umgebung deiner Wahl installiert?
Wenn ja:
Summenfeld
Schritt a) Füllen des Arrays
Womit geht es ganz gut? Richtig, eine for-Schleife.
Schritt b) Zählen der Werte
Womit geht es? Eine for-Schleife, aber auch eine for-each-Schleife wurde hier Abhilfe schaffen.

//Was macht die for-schleife:
der Wert der Variable i erhöht sich um eins pro Durchgang.
Nun bist du an der Reihe.
Java:
package pkg777;

public class Main
{
    public static void main(String[] args)
    {
        //for-schleife
        double[] zahl = new double[25];
        for (int i = 0; i < zahl.length; i++) {
           ...
        }

        //for-each-schleife
        double summe = 0;
        for (int i : zahl) {
            summe ...
        }
    }
}
 
Vielen Dank für den Ansatz, ich habe es mit Hilfe der for-Schleife geschafft, dass mir nun jede Quadratzahl angezeigt wird. Ich schaffe es aber nicht, dass nun alle Ergebnisse auch noch addiert werden :(
 
Das ist mein Ansatz

Java:
int wert = 0;
       
int array [] = new int [25];
       
for (int i = 0; i<25; i++) {
           
            array [i]= wert*wert;
           
                    wert++;
           
System.out.println("Array " + i +" "+ "=" +" "+array[i]);
 

Javinner

Top Contributor
Eine for-each-Schleife wird dazu benutzt, wenn ein Array nur durchlaufen werden soll, um zum Beispiel wie hier, alle Werte miteinander zu addieren:
Java:
double summe = 0;
        for (int i : zahl) {
            ...
        }
Also wie addiert man zwei integer mit einander?
Richtig: int a, b; a = a + b (wenn Wert a die Summe von a&b sein soll). Es gibt natürlich auch eine schönere Vorgehensweise: a += b, was das selbe Ergebnis zu folge hat.
Jetzt schau dir die Schleife an: was muss zu was addiert werden?

edit: du konntest natürlich auch mittels der for-Schleife die Werte miteinander addieren, letztendlich wurde die for-each-Schleife eingeführt, um hier Schreibarbeit zu sparen, habe ich irgendwo gelesen
Java:
int summe = 0;
        for(int i = 0; i < zahl.length; i++)
        {
            ...
        }
 
Zuletzt bearbeitet:
Code:
int summe = 0;
       
        for ( int i = 0; i < 24; i++); {
           
            summe = summe + a[i];
       
        } System.out.println(summe);

Das hab ich jetzt, aber eclipse zeigt mir einen Fehler an bei dem a, aber warum?
 

Robat

Top Contributor
Sicher, dass er sich nicht einfach darüber beschwert das er das a nicht kennt? Es muss natürlich wie dein Array heißen.
 

Robat

Top Contributor
Schau dir mal genau die Zeile.
Da hat sich ein Fehler eingeschlichen ;)
Java:
for(int i = 0; i < array.length; i++); {
 

Robat

Top Contributor
@Javinner
In Java spielt es keine Rolle ob die [] vor oder hinter dem Namen sind. Siehe: int[] arr2d[] = new int[5][5]; ;)
Sowas ist natürlich nicht zu empfehlen.
 

Robat

Top Contributor
Ein for-Schleife wird i.d.R. nicht mit einem Semikolon beendet ;)

Java:
// Korrekt
for(int i = 0; i < array.length; i++) {

// Falsch
for(int i = 0; i < array.length; i++); {
 
Code:
java.util.Random zufall = new java.util.Random();
       
        int lottozahl = zufall.nextInt(48);
       
        int[] lotto = new int[6];
        for (int i=0; i < 6; i++) {
            lotto[i]= zufall.nextInt(48)+1;
           
            for (int j=0; j>i; j++) { .
               
                if (lotto [i] == lotto[j]) {
                   
                    i = i-1;
                }
            }
           
        } for (int zahl: lotto) {
           
            System.out.println(zahl);}

Also das hab ich schon für die 2. Aufgabe. Ich weiß nur nicht wie man jetzt die Wahrscheinlichkeit prüft
 

Javinner

Top Contributor
- Lotto ist von 6-49.
- for (int j=0; j>i; j++) so ist es nicht korrekt
- die Aufgabe gibt vor: int anzahlZiehungen

Ich an deiner Stelle würde hier zu einer while-Schleife greifen.
Ist eine while-Schleife ein Begriff?
 

Javinner

Top Contributor
Quelle: https://docs.oracle.com/javase/8/docs/api/java/util/Random.html#nextInt--
Lotto ist von 6-49
Beweis:
Java:
package test;
/** Nr.1 */
import java.util.Random;

public class Test
{

    public static void main(String[] args)
    {
        int ergebnis = 0;
        int test = 49;
        int versuch = 10000000;
        while (versuch > 0) {
            Random ran = new Random();
            int i = ran.nextInt(49);
            if (i == test) {
                ergebnis += 1;
            }
            versuch--;
        }
        System.out.println("Die Zahl 49 kam : " + ergebnis + " vor");
    }

}
/** Die Zahl 49 kam : 0 vor */
Java:
package test;
/** Nr.2 */
import java.util.Random;

public class Test
{

    public static void main(String[] args)
    {
        int ergebnis = 0;
        int test = 49;
        int versuch = 10000000;
        while (versuch > 0) {
            Random ran = new Random();
            int i = ran.nextInt(49) + 1;
            if (i == test) {
                ergebnis += 1;
            }
            versuch--;
        }
        System.out.println("Die Zahl 49 kam : " + ergebnis + " vor");
    }

}
/** Die Zahl 49 kam : 200488 vor */
 
Zuletzt bearbeitet:

Javinner

Top Contributor
Dann würde ich hier eine while-Schleife nehmen.
Diese soll dann die anzahlVersuche durchlaufen und jedes Mal, wenn
Fall a) 2-3 ... usw., also jedes Mal, wenn eine 3 nach 2 kommt, es zählen.
Also brauchst du eine Grenzvariable, sagen wir mal int paarAUntereGrenze = 2;
Was du noch brauchst, ist eine Wahr-Bedingung, welche erfüllt sein muss, damit die
Zählvariable, sagen wir paarAErgebnis eins dazu zählen kann.
Wann ist den diese erfüllt? Wenn Fall a) eintritt: paarAUntereGrenze + 1

Kannst du mir folgen?
Java:
int anzahlVersuche = 1000000;

Paar A kam: 426 vor
Paar B kam: 402 vor
Paar C kam: 428 vor
 

Javinner

Top Contributor
Eigentlich von 1-49. Oder meinst du etwas anderes? Bei deinem Verfahren kann aber auch die 0 gezogen werden.
Nicht bei Nr.2
Nr.1 diente nur als Beweis, dass zu der Summe eine Eins dazu addiert werden muss.
Beweis:
Java:
package test;
/** Nr.2 */
import java.util.Random;

public class Test
{

    public static void main(String[] args)
    {
        int ergebnis49 = 0;
        int ergebnisNull = 0;
        int test49 = 49;
        int testNull = 0;
      
        int versuch = 10000000;
        while (versuch > 0) {
            Random ran = new Random();
            int i = ran.nextInt(49) + 1;
            if (i == test49) {
                ergebnis49 += 1;
            } else if(i == testNull)
            {
                ergebnisNull += 1;
            }
            versuch--;
        }
        String output;
        output = "Die Zahl 49 kam : " + ergebnis49 + " vor";
        output += "\nDie Zahl 0 kam :"  + ergebnisNull +  " vor";
        System.out.println(output);
    }

}
/** Die Zahl 49 kam : 203946 vor */
/** Die Zahl 0 kam :0 vor */
 

enjoykimii

Mitglied
Hey, ich muss die selben Aufgaben lösen! Für die 2.Aufgabe mit dem Lotto habe ich nun folgende Lösung, aber mir fehlt die Berechnung der Wahrscheinlichkeit von Zahlpaaren. Kann mir da jemand weiterhelfen? Auch bei der 3.Aufgabe fehlt mir der Ansatz :(
Java:
 public class lotto {

    public static void main(String[] args) {
        java.util.Random zufall = new java.util.Random();
         
        int lottozahl = zufall.nextInt(48);
     
        int[] lotto = new int[6];
        for (int i=0; i < 6; i++) {
            lotto[i]= zufall.nextInt(48)+1;
         
            for (int j=0; j>i; j++) {
             
                if (lotto [i] == lotto[j]) {
                 
                    i = i-1;
                }
            }
         
        } for (int zahl: lotto) {
         
            System.out.println(zahl);
            }
       
        int ergebnis = 0;
        int test = 49;
        int versuch = 10000000;
        while (versuch > 0) {
            java.util.Random ran = new java.util.Random();
            int i = ran.nextInt(4);
            if (i == test) {
                ergebnis += 1;
            }
            versuch--;
        }
        System.out.println("Ein 4 kam : " + ergebnis + " vor");
    }
   }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
K Java Aufgaben-Wie ran gehen? Java Basics - Anfänger-Themen 6
A Java Aufgaben Java Basics - Anfänger-Themen 5
V Erste Schritte Hilfe gesucht beim einstieg in Java und erste Aufgaben aus der Berufsschule Java Basics - Anfänger-Themen 9
M Java Insel Aufgaben von der DVD gesucht Java Basics - Anfänger-Themen 2
N Java Aufgaben Java Basics - Anfänger-Themen 4
V Buch:Programmieren lernen mit Java-Aufgaben zu schwer ? Java Basics - Anfänger-Themen 2
M Problem/Unsicherheit bei Java-Aufgaben Java Basics - Anfänger-Themen 11
L Java Programier Aufgaben für Anfänger Java Basics - Anfänger-Themen 5
K Hallo, Ich suche kleine Java Program-Aufgaben zum üben ? Java Basics - Anfänger-Themen 4
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
A Aufgaben Java Basics - Anfänger-Themen 30
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
A Selbe Aufgaben stellung, andere Lösung Java Basics - Anfänger-Themen 7
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
S Schnelle Hilfe bei 2 kurzen Aufgaben benötigt Java Basics - Anfänger-Themen 2
A Threads Threads bestimmte Aufgaben zuweisen... Java Basics - Anfänger-Themen 3
C Erste Schritte Probleme bei Aufgaben zu Schleifen Java Basics - Anfänger-Themen 11
J Vererbung Wurden die Aufgaben richtig programmiert? Java Basics - Anfänger-Themen 20
M Klassen Hilfe bei Aufgaben Java Basics - Anfänger-Themen 5
K Button's mit versch. Aufgaben/ActionListener Java Basics - Anfänger-Themen 12
G OOP [Eilig] Biete 10€ für Lösung von 2 Grundlagen-Aufgaben Java Basics - Anfänger-Themen 6
S Anfänger Aufgaben Java Basics - Anfänger-Themen 6
CR7 GUI-Aufgaben Java Basics - Anfänger-Themen 7
B Brauche Hilfe mit Aufgaben mit dem JavaEditor Java Basics - Anfänger-Themen 8
P Wie mehreren Threads Aufgaben zuweisen und abarbeiten lassen? Java Basics - Anfänger-Themen 15
D Zeitliche Aufgaben? Java Basics - Anfänger-Themen 3
S Herangehensweise an Aufgaben Java Basics - Anfänger-Themen 8
J Schleifen-Aufgaben Java Basics - Anfänger-Themen 6
B Was für Aufgaben haben die einzelne Entwurfsmuster? Java Basics - Anfänger-Themen 9
D Periodische Aufgaben erledigen in Webanwendung (Servlet/JSP) Java Basics - Anfänger-Themen 7
A Aufgaben zu OOP Java Basics - Anfänger-Themen 14
J Aufgaben Dynamisch auf Pool von Threads verteilen. Java Basics - Anfänger-Themen 3
-horn- Wie "Module" für wiederkehrende Aufgaben machen? Java Basics - Anfänger-Themen 7
G 3. Aufgaben und komme nicht weiter (Felder, Methoden) Java Basics - Anfänger-Themen 3
J Aufgaben Java Basics - Anfänger-Themen 25
J Tolle Aufgaben Stellung - wer kann helfen? Java Basics - Anfänger-Themen 12
J Hilfe zu 2 Aufgaben Java Basics - Anfänger-Themen 27
G Hilfe komme nicht weiter bei diesen aufgaben Java Basics - Anfänger-Themen 2
M Suche gute Anfänger "Aufgaben" Java Basics - Anfänger-Themen 8
T Suchen Anfänger-Aufgaben Java Basics - Anfänger-Themen 4
Z SGD Aufgaben Jav04 Java Basics - Anfänger-Themen 4
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben