Array Paare ausgeben

DerChris1992

Mitglied
Hallo,

Bin ein wenig am verzweifeln, deshalb brauche ich dringend einen Denkanstoß

Aufgabe ist:
Sie haben zwei Arrays int a [] und int b[]
Schreiben Sie ein JAVA Programm, das alle möglichen Paare(a, b[j])
berechnet und als Text auf der Konsole ausgibt.

Habe mir dabei folgendes gedacht:

Java:
import java.util.Scanner;  //class to read keyboard Input
import java.util.Arrays;
public class Pair_Calculation {

    public static void main(String[] args) {
        // Calculate n pairs of two arrays
        
        int [] a=new int [10];
        int [] b=new int [10];
        int [] [] ab=new int[10][10];
        
        int j=1;
        int i=1;
            for (i=1; i<a.length; i++){
            for (j=1; j<b.length; j++){
            b[j]=j+i;       
            a[i]=i; //hier weiß ich überhaupt nicht, was ich hier in der for Schleife machen soll..
            }
      
         System.out.print("Pairs:" +a[i]+""+b[j]+"");
            }
       
     }

}

Danke für eure Hilfe!
 

coco07

Bekanntes Mitglied
Hey DerChris1992,

im Grunde genommen, ist dein Ansatz schon richtig. Ich verstehe allerdings nicht, warum du die berechneten Werte noch in einem anderen Array abspeichern möchtest? In der Aufgabe steht ja nur, du sollst sie ausgeben :)
Wenn ich die Aufgabe richtig verstehe, sollen alle möglichen Paare miteinander addiert werden?
Und noch was: Der erste verfügbare Index in einem Array ist 0 und nicht 1 :D

grüße Fabian!
 

anfänger09

Mitglied
Hi Chris,

ich hab dir deinen Code mal ein wenig auseinander gepröselt.

Java:
 public class JavaApplication4 {
 
    public static void main(String[] args) {
        // Calculate n pairs of two arrays
 
        int [] a=new int [10];
        int [] b=new int [10];
 
        int j;
        int i;

            for (i=0; i<a.length; i++){
                a[i]=i;
            }        
 
            for (i=0; i<b.length; i++){
                b[i]=i;
            }             
            
            for (i=0; i<a.length; i++){
                
                for (j=0; j<b.length; j++){ 
                     System.out.println("Pairs: a=" +a[i]+" und b="+b[j]+" ergibt zusmmen:" + (a[i]+b[j]));
                } 
                
            }
     }
}

Tu am besten erst die Arrays mit Werten belegen und anschließen ausgeben. Bei mir funktioniert das serh schön :)
 

coco07

Bekanntes Mitglied
anfänger09@
In deinem Fall kann man sich die 2. For-Schleife auch sparen :)

Grüße Fabian!
 
Zuletzt bearbeitet:

DerChris1992

Mitglied
Hallo,

erstmal Danke für die Antworten.

Habe es mal etwas umgeschrieben, da wir es "allgemein" machen sollen.
Aber irgendwas ist verkehrt...

Könnt ihr mir erklären, warum ich 2 Schleifen machen muss? Das verstehe ich noch nicht so ganz. Blutiger Anfänger :p

Java:
import java.util.Scanner;  //class to read keyboard Input
public class Pair_Calculation {

    public static void main(String[] args) {
        // Calculate n pairs of two arrays
        
        int n_a=0;
        int n_b=0;
        int [] a=new int [n_a];
        int [] b=new int [n_b];
    
        
        Scanner sc_a=new Scanner(System.in); // method to read input of keyboard
        System.out.print("Of how many elements does array a consist? ");
        int input_a=sc_a.nextInt(); // reading input of keyboard
        n_a=input_a; // overwrite n with keyboard input
        
        Scanner sc_b=new Scanner(System.in); // method to read input of keyboard
        System.out.print("And of how many elements does array b consist? ");
        int input_b=sc_b.nextInt(); // reading input of keyboard
        n_b=input_b; // overwrite n with keyboard input
        
        if (n_b==n_a){
        int j=1;
        int i=1;
            for (i=1; i<a.length; i++){
                a[i]=i;
              }
        
            for (i=0; i<a.length; i++){
                 
                for (j=0; j<b.length; j++){ 
                     System.out.println("Pairs: " +a[i]+b[j]);
                } 
 
            }
            
            
        }
                
            
            
        
        else {
            System.out.print("Error. Array A must be consist of ");
            System.out.print("just as many elements as Array B");
            
        }
    }

}
 

coco07

Bekanntes Mitglied
Also müssen tust du erst einmal gar nichts :)
Es ist eine Sache des Designs, wie viele Schleifen du verwendest.

Dein gerade geposteter Code enthält mehrere Fehler und einen fatalen, den du wahrscheinlich nicht finden würdest.
Ich schreibe dir hier deswegen keinen Code, weil du das selber lernen sollst. Ich gebe dir lediglich Hilfestellung.

1. Du initialisierst die beiden Variablen, die die Größe der Arrays angeben, bereits über der Eingabe von deiner Tastatur. Das bedeutet, dass deine Arrays eine Größe von 0 haben (das Programm läuft von oben bis unten). Du darfst deine Arrays also erst instanziieren, wenn die Größe dieser bereits bekannt ist(also nach dem Einlesen von deiner Tastatur).
2. Du erzeugst 2 Scanner-Objekte. Warum? Eines reicht doch?
3. Der erste Index eines Arrays ist bei 0 ---> intArray[0]. Deine Indexvariablen j und i werden von dir mit 1 initialisiert. Damit lässt du die erste "Schublade" in deinem "Schrank" leer.
4. Dein a-Array befüllst du in der ersten For-Schleife, wo aber das b-Array?
5. In der 3 For-Schleife rufst du die Methode println mit dem Parameter "Pairs: " +a+b[j] auf. Setze um die Addition der beiden Werte aus deinen Arrays Klammern, damit Java keine Konkatenation vornimmt. Das kannst du nicht wissen und ist auch erst einmal nicht wichtig. Du musst also schreiben: "Pairs: " + (a + b[j])

Da sind noch ein paar Einzelheiten, welche ich dir im Moment aber ersparen möchte. Versuche mal diese Probleme zu lösen und schreibe dann, wenn du fertig bist :)

grüße Fabian!
 
Zuletzt bearbeitet:

DerChris1992

Mitglied
Hey Fabian,

Danke erstmal für deinen hilfreichen Beitrag:)

1-4. habe ich glaube ich beseitigt.
bei 5.: Ich soll die Zahlen nicht addieren, sondern zum Beispiel 11 oder 12 oder 13 oder 23 ausgeben. Heißt immer eine Zahl vom 1. Array und eine vom 2. Deshalb habe ich da das (a+b) weggelassen, weil ich die ja nicht addieren möchte.

Java:
import java.util.Scanner;  //class to read keyboard Input
public class Pair_Calculation {

    public static void main(String[] args) {
        // Calculate n pairs of two arrays
    
        int n_b=0;
        int n_a=0;
        
        
        Scanner sc_a=new Scanner(System.in); // method to read input of keyboard
        System.out.print("Of how many elements does array a consist? ");
        int input_a=sc_a.nextInt(); // reading input of keyboard
        System.out.print("And of how many elements does array b consist? ");
        int input_b=sc_a.nextInt(); // reading input of keyboard
        n_a=input_a; // overwrite n with keyboard input
        n_b=input_b; // overwrite n with keyboard input
        
        int [] a=new int [n_a];
        int [] b=new int [n_b];
    
        if (n_b==n_a){
        int j=0;
        int i=0;
            for (i=0; i<a.length; i++){
                a[i]=i;
              }
            for (i=0; i<b.length; i++){
                b[i]=i;
              }
        
            for (i=0; i<a.length; i++){
                 
                for (j=0; j<b.length; j++){ 
                     System.out.println("Pairs: " +a[i]+b[j]);
                } 
 
            }
            
            
        }
                
            
            
        
        else {
            System.out.print("Error. Array A must be consist of ");
            System.out.print("just as many elements as Array B");
            
        }
    }

}
 

coco07

Bekanntes Mitglied
Genau, das sieht schon um einiges besser aus :)

bei 5.: Ich soll die Zahlen nicht addieren, sondern zum Beispiel 11 oder 12 oder 13 oder 23 ausgeben. Heißt immer eine Zahl vom 1. Array und eine vom 2. Deshalb habe ich da das (a+b) weggelassen, weil ich die ja nicht addieren möchte.
Ah ok, dann habe ich das falsch verstanden :oops:

Als nächstes frage ich mich, warum du für die Tastatureingabe 2 neue Variablen deklarierst?

Java:
int n_a, n_b;
n_a = sc_a.nextInt(); // reading input of keyboard for size of Array-A
n_b = sc_a.nextInt(); // reading input of keyboard for size of Array-B
Tut´s doch auch oder ;)

Dann hast du zum Befüllen der beiden Arrays jeweils eine For-Schleife verwendet. Warum befüllst du sie nicht beide in einer einzigen(die Größe der Arrays ist ja sowieso gleich).
Java:
int j=0;
int i=0;
for (i=0; i<a.length; i++){
     a[i] = i;
     b[i] = i;
}

Der Rest deines Codes erscheint mir völlig sinnig, gut gemacht :D

grüße Fabian!
 
Zuletzt bearbeitet:

DerChris1992

Mitglied
Java:
//Exercise 2

import java.util.Scanner;  //class to read keyboard Input
public class Pair_Calculation {

    public static void main(String[] args) {
        // Calculate n pairs of two arrays
    
        int n_b=0; // Array Length of b
        int n_a=0; // Array Length of a
        
        // method to read input of keyboard
        Scanner sc_a=new Scanner(System.in); 
        //Output text
        System.out.print("Of how many elements does array a consist? ");
        // reading input of keyboard
        n_a=sc_a.nextInt(); 
        //Output text
        System.out.print("And of how many elements does array b consist? "); 
        // reading input of keyboard
        n_b=sc_a.nextInt(); 
        // overwrite n with keyboard input
        // fill Array a and b with Keyboard Input
        int [] a=new int [n_a]; 
        int [] b=new int [n_b]; 
    
        if (n_b==n_a){ // Array Length of a and b has to be the same
            // control variable i and j
        int j=0; 
        int i=0; 
        // Until i is lower than Array a length do the loop, 
        //after every pass add 1 to i: i=i+1
            for (i=0; i<a.length; i++){ 
                // fill the array with numbers
                // a[] =b[] so we can fill it in one loop
                a[i]=i; 
                b[i]=i; 
            }
            
            // Until i is lower than Array a length do the loop,
            //  after every pass add 1 to i: i=i+1
            for (i=0; i<a.length; i++){
                
                // Until j is lower than Array b length  do the loop,
                //  after every pass add 1 to j: j=j+1
                for (j=0; j<b.length; j++){
                    //Output Pairs
                     System.out.println("Pair: " +a[i]+b[j]); 
            } 
            }
            
        }
        //When Array length of a and b are not the same
        else {  
            //Output text error
            System.out.print("Error. Array A must be consist of "); 
            System.out.print("just as many elements as Array B"); 
            System.exit(0);
        }
    }

}

So fertig. Nicht wundern, wir sollen alles kommentieren ;D
Danke schon mal:)

Werde mich das Wochenende nochmal melden. Gibt noch mehr Aufgaben, bei denen ich vielleicht Hilfe brauche. Muss es ja lernen für mein Studium :D

PS: Dein Spiel ist interessant :D

Bis die Tage und Danke!
 

coco07

Bekanntes Mitglied
Jo, kein Thema :D
Scheu dich nicht, mich per pn anzuschreiben, falls du nicht extra ein Thema eröffnen möchtest ;)

PS: Danke ;)

grüße Fabian!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
L Frage zum Array Java Basics - Anfänger-Themen 1
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
Lion.King Array deklarieren und initialisieren Java Basics - Anfänger-Themen 5
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
M Methoden Zweidimensionaler Array mit Setter Methode ändern Java Basics - Anfänger-Themen 4
AkiJou Zeile in 2d Array löschen Java Basics - Anfänger-Themen 2
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
A Elemente in einem Array Java Basics - Anfänger-Themen 5
A Vorkommende Farben ermittel und als Array zurückgeben Java Basics - Anfänger-Themen 7
AhmadSlack Array Java Basics - Anfänger-Themen 7
Jambolo Kartenhand Array Java Basics - Anfänger-Themen 14
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
1 Array rekursiv durchlaufen Java Basics - Anfänger-Themen 8
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
EykS 3D Druckdatei basierend auf 3D Array? Java Basics - Anfänger-Themen 3
sserio Array funktioniert nicht Java Basics - Anfänger-Themen 2
sserio Iterierung über ein zweidimensionales Array Java Basics - Anfänger-Themen 16
sserio Zweidimensionales Array [][] wird untereinander ausgegeben Java Basics - Anfänger-Themen 14
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
D EinMalEins mithilfe einer for-Schleife und Array Java Basics - Anfänger-Themen 1
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
L Gridmuster in einem Array Java Basics - Anfänger-Themen 2
sgtcoopa Array übergeben Schleife Java Basics - Anfänger-Themen 0
B Compiler-Fehler Array aus Objekten übergeben Java Basics - Anfänger-Themen 7
padde479 Array Multiplikation der ersten n Zahlen Java Basics - Anfänger-Themen 7
G zweidimensionales int Array sortieren Java Basics - Anfänger-Themen 57
W Array ausgeben Java Basics - Anfänger-Themen 29

Ähnliche Java Themen

Neue Themen


Oben