Erste Schritte Arrays addieren

p_alp1

Mitglied
Hi.

Ich habe vor 2 verschieden lange arrays zu addieren. habe mir gedacht, das wie bei dem schriftlichen addieren zu machen. also quasi so.

-[1][2][3][4][5][6][7]
+--------[1][2][3][4] (die "-" sind für die formatierung im beitrag. mit blanks gings nicht.)
----------------------
-[1][2][3][5][8][0][1]

hatte mir dann weiterüberlegt die arrays erst einmal gleichlang zu machen:

--[1][2][3][4][5][6][7]
+ [0][0][0][1][2][3][4]
----------------------
--[1][2][3][5][8][0][1]

ich hab als code für das "gleichlangmachen" folgendes:

Java:
int[] tmp;
		int b1l = b1.big.length;
		
		if(b1l != b2.big.length){
			if(b2.big.length >= b1l){
				tmp = new int[b2.big.length];
				int k = b2.big.length-1;						
				for(int i=b2.big.length-1; i >= 0; i--){
					
					if(k > b1l && b1l != 0){
						b1l--;
						tmp[k] = b1.big[b1l];
						
					}else{
						tmp[i] = 0;
					}					
					k--;					
				}
				String str = "";
				for(int j=0; j < tmp.length; j++){
					str += "["+ tmp[j] +"]";
				}
				System.out.println(str);
			}			
		}else{
			System.out.println("Gleich lang!!!");
		}

An sich klappt das, aber ich finde das vorgehen viel zu umständlich... :autsch:
habt ihr eine bessere idee für das gleichlang machen bzw vllt eine idee wo ich das gar nicht machen muss???

danke schonmal. :)
 
Zuletzt bearbeitet:

Evil-Devil

Top Contributor
Nach welcher Reihenfolge werden die Arrays denn addiert. Wenn immer das längere Array als Basis genommen wird, dann könntest du das Array von hinten nach vorne durchgehen und entsprechend die Werte am größeren Array addieren.

Damit kannst du dir das auffüllen der Leerstellen ersparen :)
 

bERt0r

Top Contributor
Sowas hier?
Java:
		int[] a={1,2,3,4},b={5,6,7,8,9,10};
		
		int[]c=new int[a.length+b.length];
		for(int i=0;i<a.length;i++)
		{
			c[i]=a[i];
		}
		for(int i=0;i<b.length;i++)
		{
			c[i+a.length]=b[i];
		}
		
		System.out.println(Arrays.toString(c));
[Edit] Ups du willst ja was ganz anderes machen, das gleiche hatten wir aber schon vor ca. einem Monat[/Edit]
http://www.java-forum.org/java-basi...27048-problem-dyn-bestimmung-arraylaenge.html
 
Zuletzt bearbeitet:

p_alp1

Mitglied
also eigentlich nehme ich immer das lange als basis und addiere das kürzere dran. und jeweile immer die letze pos im langen array mit der letzten im kurzen, dann jeweils die vorletzten usw...
hast du / ihr vllt ein bisschen code, um mir das deutlich zu machen?? bin noch ziemlicher anfänger. :/

grüße

-------------------
probier ich gleich mal aus... hab den post nicht gesehen, während ich geschrieben hab ^^
 

p_alp1

Mitglied
Sowas hier?
Java:
		int[] a={1,2,3,4},b={5,6,7,8,9,10};
		
		int[]c=new int[a.length+b.length];
		for(int i=0;i<a.length;i++)
		{
			c[i]=a[i];
		}
		for(int i=0;i<b.length;i++)
		{
			c[i+a.length]=b[i];
		}
		
		System.out.println(Arrays.toString(c));
[Edit] Ups du wilslt ja was ganz anderes machen, das gleiche hatten wir aber schon vor ca. einer Woche[/Edit]

also das hab ich gerade getestet, das hängt die arrays quasi zu einem zusammen, wenn mich nicht alles täuscht ^^
 

Evil-Devil

Top Contributor
also eigentlich nehme ich immer das lange als basis und addiere das kürzere dran. und jeweile immer die letze pos im langen array mit der letzten im kurzen, dann jeweils die vorletzten usw...
hast du / ihr vllt ein bisschen code, um mir das deutlich zu machen?? bin noch ziemlicher anfänger. :/


ungetestet:
Java:
int[] kurz = { 1, 2, 3, 4, 5 };
int[] lang = { 6, 7, 8, 9, 10, 11, 12, 13 };

int langIndex = lang.length - 1;

for (int i=kurz.length - 1; i>=0; i=i-1) {
	lang[langIndex] = lang[langIndex] + kurz[i];
	langIndex = langIndex -1;
}

Ich hab mal ein paar Verkürzungen verzichtet ^^"

[tipp]Im Normfall müsstest du auch eine IF Anweisung schreiben die überprüft welches Array denn das größere ist.
[/tipp]
 
Zuletzt bearbeitet:

p_alp1

Mitglied
funktioniert...
muss dann halt immer nur die überträge noch zum nächst kleineren index addieren.

hab mich am anfang vllt auch ein bisschen unverständlich ausgedrückt...
habe halt die zahl 12345 das wäre dann als array [1][2][3][4][5] ... also zahlen >9 können nicht in einem element stehen, so wie es in deinem beispiel oben ist.

[EDIT]achso: DANKE! :)[/EDIT]
 
Zuletzt bearbeitet:

p_alp1

Mitglied
einen tip bräuchte ich noch :p

das addieren funktioniert super...
allerdings wenn ich jetzt {0, 0, 0, 0} + {0, 0} rechne, bekomme ich {0, 0, 0, 0}...
hätte aber gerne {0} als ergebnis... hab aber keine idee wie ich das machen könnte :/
oder wenn ich etwas addiere wo z.b als ergebnis {0, 0, 1, 2, 3} rauskommt, kann ich da die voranstehenden 0 "wegschneiden, sodass ich {1, 2, 3} als ergebnis habe?!?
 
V

vanny

Gast
klar einfach nochmal von vorne durch das Ergebnis laufen und schauen, ob udn wie oft eine 0 dransteht.
Dann den passenden Index merken und je nachdem ob du dein Ergebnis als String oder int oder oder...
weiterverwendest die Länge anpassen.

Gruß Vanny

[EDIT]
in deinem {0,0,1,2,3}-Fall wäre der Index (erster !=0) = 2 und dann einfach:
Java:
int[] korrektur = new int[ergebnis.length()-gemerkterIndex]
for(int i=gemerkterIndex;i<ergebnis.length();i++){
   korrektur[i-gemerkterIndex] = ergebnis[i];
}

sollte {1,2,3} ergeben ist aber nur so dahin geschrieben;)

klassischer 3-Zeiler
[/EDIT]

[TIPP]für den Fall mit nur 0 solltest du gesondert beim Ermitteln des gemerktenIndex prüfen[/TIPP]
 
Zuletzt bearbeitet von einem Moderator:

p_alp1

Mitglied
hab jetzt alles soweit zusammen gebaut und funktioniert auch super, bis zu dem punkt wo sich die dezimalstellen ändern. also wenn ich in array1 (länge = 1) [9] habe und in array2 (auch länge 1) [2] stehen habe bekomm ich einen fehler... verstehe den fehler auch, ich brauch ein größeres array in dem ich [1][1] speichern kann... jetz könnte man einfach neues array machen mit der länge 2... aber das dumme ist, ich brauch bzw. will den arrayname behalten und ich bekomme das einfach nicht hin ohne den fehler "Duplicate variables" oder sowas... :/
ich denke ihr versteht was ich meine und hoffe das ihr mir helfen könnt :)
 

Helgon

Bekanntes Mitglied
hab jetzt alles soweit zusammen gebaut und funktioniert auch super, bis zu dem punkt wo sich die dezimalstellen ändern. also wenn ich in array1 (länge = 1) [9] habe und in array2 (auch länge 1) [2] stehen habe bekomm ich einen fehler... verstehe den fehler auch, ich brauch ein größeres array in dem ich [1][1] speichern kann... jetz könnte man einfach neues array machen mit der länge 2... aber das dumme ist, ich brauch bzw. will den arrayname behalten und ich bekomme das einfach nicht hin ohne den fehler "Duplicate variables" oder sowas... :/
ich denke ihr versteht was ich meine und hoffe das ihr mir helfen könnt :)

Ich versteh nicht ganz was du mit länge 1 meinst.
Aus [9] würd ich zumindest, dass es sich um ein Array der Größe 10 handelt (oder meinste was ganz anderes) ?

Erklär nochmal genauer bitte, dann kann ich vllt helfen :)
 

Helgon

Bekanntes Mitglied
mit [9] wollte ich das element beschrieben...

Also ein Array der länge 1 mit dem element 9.

Sry aber ich glaub, wieder ein wenig unglücklich ausgedrückt :)


Java:
int[] zahl = new int[10]; // Länge des Arrays 10

Java:
int[2] = 10 // 3tes Element gleich 10


Es geht aber immer noch um das was im Anfangspost die Aufgabe war? 2 Arrays einfach mit einander verrechnen?
 

p_alp1

Mitglied
ja es geht immernoch um das anfangsthema...
ich hol nochmal aus, damits hoffentlich deutlich wird :p

ich habe 2 arrays die ich miteinander addieren will...

Array1 hat nur die zahl 9 drin stehen. also die ausgabe wäre quasi:
System.out.print(Array1[0]) ---> 9

Array2 hat nur die zahl 2 drin stehen. also wäre die ausgabe:
System.out.print(Array2[0]) ---> 2

ich addiere nun den wert von array2 zu array1... dann hätte ich als ergebnis:
System.out.print(Array1[0]) ---> 11

Allerdings brauch ich für meine Problemstellung jede ziffer einer zahl, als einzelnes element eines arrays:
das heißt die ausgabe wäre nun: System.out.print(Array1[0]) ---> 11.
ich möchte aber die ausgabe: Array1[0] --> 1 Array1[1] --> 1
dazu müsste ich aber die länge des Array1 um 1 erhöhen.
ich habe mir gedacht das array mit der neuen länge zu neu initalisieren, aber dann bekomm ich den fehler "Duplicate variables"!! Es ist wichtig das mein array halt sein namen behält...
 

Michael...

Top Contributor
Wie bereits erläutert, kann man trotzdem mit einem neuen Array bzw. Variable arbeiten und dieses der ursprünglichen Variable zuweisen.
Java:
int[] array1 = {9};
int[] array2 = {2};
int[] tmp = ... // ergebnis aus array1 +  array2
array1 = tmp;
System.out.println(java.util.Arrays.toString(array1);
 

p_alp1

Mitglied
ja das versteh ich ja, aber dann habe ich doch im array tmp den wert 11:
tmp[0] --> 11

ich MUSS aber haben: tmp[0] ---> 1 und tmp[1] ---> 1

ein array element darf betragsmäßig nicht größer als 9 sein... also nur EINE EINZIGE ziffer pro array-element!
 

Helgon

Bekanntes Mitglied
Ka warum du das überhaupt so umsetzten möchtest, aber nun gut. Vielleicht hilft dir das

Java:
public static void main(String[] args){
		
		int[] array = new int[10];
		array[0] = 14;

		String temp = Integer.toString(array[0]);
		
		array[0] = Integer.valueOf(temp.substring(0,1));
		array[1] = Integer.valueOf(temp.substring(1,2));
		
		System.out.println(array[0]+" | "+array[1]);
		
	}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Zwei Arrays addieren und ausgeben Java Basics - Anfänger-Themen 3
M Werte des Arrays addieren Java Basics - Anfänger-Themen 5
E Mehrere Arrays addieren mit Übertrag Java Basics - Anfänger-Themen 13
A Arrays addieren- Was mache ich falsch?? Java Basics - Anfänger-Themen 2
J Arrays erstellen und dann addieren Java Basics - Anfänger-Themen 19
Silvascus Erste Schritte Werte innerhalb eines Arrays addieren Java Basics - Anfänger-Themen 3
M Arrays addieren Java Basics - Anfänger-Themen 2
C OOP Probleme beim Addieren von Arrays Java Basics - Anfänger-Themen 4
J arrays miteinander addieren Java Basics - Anfänger-Themen 11
K double Arrays addieren Java Basics - Anfänger-Themen 5
K Arrays zusammen addieren - brauche Denkanstoß:) Java Basics - Anfänger-Themen 4
B Werte eines Arrays addieren Java Basics - Anfänger-Themen 16
P Kopie erstellen / addieren von Arrays Java Basics - Anfänger-Themen 5
N Addieren von zwei Arrays Java Basics - Anfänger-Themen 4
S 2 Byte Arrays addieren Java Basics - Anfänger-Themen 45
G Arrays Addieren Java Basics - Anfänger-Themen 5
M zwei zweidimensionale Arrays addieren Java Basics - Anfänger-Themen 4
S Addieren zweier Arrays Java Basics - Anfänger-Themen 10
J Jedes Element in 2 Arrays mit gleicher Position addieren Java Basics - Anfänger-Themen 12
DrahtEck Arrays und While-Loop Java Basics - Anfänger-Themen 27
richis-fragen Kann Arrays.stream() auch auf Objekte angewant werden? Java Basics - Anfänger-Themen 10
Fynx_HD Arrays übergeben, Mehrdimensionale Arrays Zeilenabtrennung in schleifen Java Basics - Anfänger-Themen 8
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste und Arrays Java Basics - Anfänger-Themen 12
N mehrdimensionale arrays Java Basics - Anfänger-Themen 12
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
J Mehrdimensionale Arrays Java Basics - Anfänger-Themen 2
pc pc pc pc pc letztes Element eines Arrays n Java Basics - Anfänger-Themen 3
M Arrays Java Basics - Anfänger-Themen 3
Ostkreuz Wert von Arrays summieren Java Basics - Anfänger-Themen 1
Ostkreuz Summieren von Arrays Java Basics - Anfänger-Themen 4
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
ArrayList mit unbekannter Menge an Arrays die Arrays vergleichen Java Basics - Anfänger-Themen 9
D Arrays an replaceAll-Methode übergeben Java Basics - Anfänger-Themen 12
rosima26 Geordnete Arrays ausgeben Java Basics - Anfänger-Themen 31
D Inhalt eines Arrays ausgeben Java Basics - Anfänger-Themen 7
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
E Zinsrechnung mithilfe von Arrays Java Basics - Anfänger-Themen 12
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
H Arrays befüllen Java Basics - Anfänger-Themen 43
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
D Arrays Java Basics - Anfänger-Themen 9
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
N Arrays Java Basics - Anfänger-Themen 5
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
U zwei 2D arrays auf gleich sein überprüfen Java Basics - Anfänger-Themen 14
melaniemueller Lagerverwaltung erstellen - mehrdimensionale Arrays Java Basics - Anfänger-Themen 62
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
A Arrays aufsummieren Java Basics - Anfänger-Themen 11
C Wie 2 Arrays zusammenfügen und sortieren? Java Basics - Anfänger-Themen 11
S Arrays aneinanderketten Java Basics - Anfänger-Themen 20
Sinan Arrays auflisten ohne Wiederholung Java Basics - Anfänger-Themen 28
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
D Verschlüsslungsaufgabe / Arrays Java Basics - Anfänger-Themen 6
L Methode für Zweidimensionale Arrays Java Basics - Anfänger-Themen 4
L Methode zum invertieren eines Arrays Java Basics - Anfänger-Themen 7
S zweidimensionale char arrays Java Basics - Anfänger-Themen 14
J Methoden Mehrdimensionale Arrays übereinander legen Java Basics - Anfänger-Themen 5
D Verwirrung bei Streams aus primitiven Arrays Java Basics - Anfänger-Themen 2
P Arrays mit verschiedenen Längen miteinander dividieren. Java Basics - Anfänger-Themen 1
P Wie kann ich die Zahlen dieses Arrays dividieren? Java Basics - Anfänger-Themen 2
N 2D Arrays jedes xy vergleichen Java Basics - Anfänger-Themen 7
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
Kawastori Größe eines Arrays bestimmen Java Basics - Anfänger-Themen 13
Zeppi Arrays[i] Java Basics - Anfänger-Themen 7
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
J B-Sprache mit Arrays ausführen Java Basics - Anfänger-Themen 18
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
C Arrays - deklarieren, initialisieren? Ist das ein Objekt? Java Basics - Anfänger-Themen 3
K Sudoku mit 2D Arrays Java Basics - Anfänger-Themen 19
T Vertikales Histogramm mit Arrays Java Basics - Anfänger-Themen 3
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
F Arrays: Mathematische Funktion Java Basics - Anfänger-Themen 19
mihe7 Von Datentypen und (mehrdimensionalen) Arrays Java Basics - Anfänger-Themen 5
A Teilen eines Arrays Java Basics - Anfänger-Themen 5
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
L If und else bei 2 Dimensionalen Arrays Java Basics - Anfänger-Themen 8
1 Arrays Java Basics - Anfänger-Themen 7
M Rückgabe eines Arrays Java Basics - Anfänger-Themen 10
L Addition von Arrays über die Parameterliste Java Basics - Anfänger-Themen 11
Z Erste Schritte Indexe innerhalb eines Arrays zusammensählen Java Basics - Anfänger-Themen 14
N Länge eines Arrays in einem Objekt testen Java Basics - Anfänger-Themen 51
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Neue Themen


Oben