Variablen Vorkommen programmieren

vmtt

Mitglied
Hallo Zusammen
Kann jemand von euch mir weiter helfen? Ich soll wie unteren Aufgabestellung eines Vorkommen programmieren. Ich bin neu und bin sehr dankbar für eure Unterstützung.

Aufgabenstellung:
Gegeben ist ein Array zum Beispiel mit Zahlen als Werten:
{2, 17, 10, 9, 16, 3, 9, 16, 5, 1, 17, 14}
Schreiben Sie ein Programm, das von einem Array bestehend aus Zahlen prüft, wie viele dieser
Zahlen durch 3 teilbar sind.
Zudem sollen am Schluss die entsprechenden Zahlen ausgegeben werden. Das Programm soll für
beliebige Arrays funktionieren.
 
Bin soweit gekommen:

public class Vorkommen
{
public static void main (String [] args) {
int [] mein_array = {2,17,10,9,16,3,9,16,5,1,17,14};
int count = 0;

for (int i=0; i< mein_array.length; i++){
if (mein_array % 3 == 0)
count++;
}

System.out.println("Anzahl Zahlen durch drei teilbar sind: " + count);

output beim ersten Punkt ist ok = Anzahl Zahlen durch drei teilbar sind: 3

Leider komme ich nicht weiter mit:

Zudem sollen am Schluss die entsprechenden Zahlen ausgegeben werden. Das Programm soll für
beliebige Arrays funktionieren.

Vielen Dank deine hilfe
 
@vmtt setze Deinen Code bitte zwischen [code=Java] und [/code]. Ansonsten werden z. B. Indizes der Form [i] verschluckt bzw. in Kursivsatz umgewandelt.
 
Was die Ausgabe betrifft: Du könntest während der Suche beispielsweise jedes gefundene Element mit dem Element an Position count vertauschen. Damit sind alle Elemente in mein_array mit einem Index kleiner als count durch drei teilbar. Am Schluss musst Du nur noch die ersten count Elemente von mein_array ausgeben.
 
Was die Ausgabe betrifft: Du könntest während der Suche beispielsweise jedes gefundene Element mit dem Element an Position count vertauschen. Damit sind alle Elemente in mein_array mit einem Index kleiner als count durch drei teilbar. Am Schluss musst Du nur noch die ersten count Elemente von mein_array ausgeben.
@mihe7 Vielen Dank für dein Input
Leider bin ich eine Anfänger. Wie meinst du mit ... vertauschen?

Java:
public class Vorkommen
{
    public static void main (String [] args) {
        int [] mein_array = {2,17,10,9,16,3,9,16,5,1,17,14};
        int count = 0;
    
        for (int i=0; i < mein_array.length; i++){
            if (mein_array [I] % 3 == 0)
                count++;
            }
         
        System.out.println("Anzahl Zahlen durch drei teilbar sind: " + count);
        }
}

An welchen Position soll ich die Vertauschung vornehmen, dass die entsprechende Zahlen ausgibt die durch 3 teilbar sind?
Vielen Dank nochmal
 
Java:
public class Vorkommen
{
    public static void main (String [] args) {
        int [] mein_array = {2,17,10,9,16,3,9,16,5,1,17,14};
        int count = 0;
 
        for (int i=0; i < mein_array.length; i++){
            if (mein_array [I] % 3 == 0)
                count++;
            }
      
        System.out.println("Anzahl Zahlen durch drei teilbar sind: " + count);
        }
}
du brauchst ein kleines i in den eckigen Klammern ...
 
Zuletzt bearbeitet von einem Moderator:
Code:
public class Vorkommen
{
    public static void main (String [] args) {
        int [] mein_array = {2,17,10,9,16,3,9,16,5,1,17,14};
        int count = 0;
 
        for (int i=0; i < mein_array.length; i++){
            if (mein_array [I] % 3 == 0)
                count++;
            }
     
        System.out.println("Anzahl Zahlen durch drei teilbar sind: " + count);
        }
}
du brauchst ein kleines i in den eckigen Klammern ...
Habe ich, leider kommt nur das Output = Anzahl Zahlen durch drei teilbar sind: 3.
Ich möchte noch die entsprechende Zahlen ausgeben können die durch 3 teilbar sind. Vielen Dank
 
An welchen Position soll ich die Vertauschung vornehmen, dass die entsprechende Zahlen ausgibt die durch 3 teilbar sind?
Da wo du auch zählst. Am Ende nach Ausgabe von count fügst du noch eine weiter Schleife hinzu für die Ausgabe die count mal durchgeführt wird.
 
Java:
public class Vorkommen
{
    public static void main (String [] args) {
        int [] mein_array = {2,17,10,9,16,3,9,16,5,1,17,14};
        int count = 0;
     
        for (int i=0; i < mein_array.length; i++){
            if (mein_array [i] % 3 == 0)
                count++;
      
            }
         
        System.out.println("Anzahl Zahlen durch drei teilbar sind: " + count);
      
        }
 
}
Ausgabe :
Anzahl Zahlen durch drei teilbar sind: 3

Ich möchte folgende Ausgabe haben:
Anzahl Zahlen durch drei teilbar sind: 3
9, 3, 9


Danke für die Bemühungen
 
Du musst auch nicht tauschen wie mihe es vorgeschlagen hat. Wenn du das nicht vestehst, dann kannst du z.B. auch alle gefundenen Werte abspeichern - z.B. in einer Liste oder sogar
https://docs.oracle.com/javase/8/docs/api/java/util/StringJoiner.html

Java:
        StringJoiner sj = new StringJoiner(", ");
     
        sj.add(Integer.toString(1));
        sj.add(Integer.toString(2));
        sj.add(Integer.toString(3));
     
        System.out.println(sj); // Ausgabe: 1, 2, 3

Aber die Array-Variante von mihe entspricht vermutlich am ehestem den Stand den ihr gerade behandelt und der Prof sehen will.
 
Vertauschen: Du ersetzt mein_array[i] mit mein_array[count] und umgekehrt.
Java:
int tmp = mein_array[i];
mein_array[i] = mein_array[count];
mein_array[count] = tmp;
 
Hallo Zusammen
Vielen Dank für Eure Hilfe und Unterstützung.
Nun habe ich hin gekriegt 🙂
Java:
public class Vorkommen
{
    public static void main (String [] args) {
        int [] mein_array = {2,17,10,9,16,3,9,16,5,1,17,14};
        int count = 0;
       
       
        for (int i=0; i < mein_array.length; i++){
            if (mein_array [i] % 3 == 0)
                count++;
        
            }
           
        System.out.println("Anzahl Zahlen durch drei teilbar sind: " + count);
       
        System.out.println("Folgende Zahlen sind durch drei teilbar: ");
        {
            for (int reihe: mein_array){
                if ((reihe % 3)==0)
               
                System.out.print (reihe+ ","+"" + " ");
            }
        }
        }
   
}
 
Entweder du merkst dir dann die gefundenen werte in einer neuen Liste, oder du schreibst in der for Schleife gleich raus, dass die Zahl durch 3 teilbar ist, wenn es zutriffz
 

Neue Themen


Zurück
Oben