Rechnen in Arrays

tropifrutti

Mitglied
Hallo,

ich hab gedacht ich haette eine simple Programmieraufgabe zu loesen. Es geht an sich um einfaches arithmetisches Rechnen und Inkrementieren mit Java. Allerdings soll man die Ergebnisse in Feldern ausgeben. Ich hatte versucht mit einer for-Schleife einen Integer-Wert hochzaehlen zu lassen und wollte diesen dann in einem Feld ausgeben. Allerdings hab ich ein Problem damit den Integerwert in ein Byte-Array umzuwandeln (bzw. weiss nicht ob dass noetig ist oder eleganter geht). Kann mit jemand helfen? Waere super!

Hier eine der Methoden wo es ums Inkrementieren geht:
Java:
  public static byte[] inc(byte[] A) {
    ...
  }
Das war gegeben und hier mein Ansatz:
Java:
  public static byte[] inc(byte[] A) {
	for (int a = 0; a < 10 ; a++)
		System.out.println(a);
		// hier hatte ich an die Methode toCharArray gedacht... aber ich glaub damit komm ich nicht weit.
	return A; 
  }

Danke schonmal!
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Benutze für Java-Code bitte die Auszeichung [Java] und nicht [Duke]. So kann das ja kein Mensch lesen. Und zu deiner Frage, ich glaub ich hab Dein Problem noch nicht verstanden. Kannst Du vielleicht die Aufgabe etwas näher beschreiben?
 
N

nillehammer

Gast
Danke schonmal für das Ändern der Tags. Aber ich hab immer noch nicht verstanden, was inkrementiert werden soll und was dann als Array/Felder zurück gegeben werden soll. Willst Du jedes einzelne Feld in dem byte-Array inkrementieren, das Du als Parameter übergibst und das dann zurück geben?
 

tropifrutti

Mitglied
ok, also ich moechte einen Algorithmus schreiben, der in der Methode inc() A hochzaehlt.
Java:
  public static byte[] inc(byte[] A)
  {
    ...
  }
Also immer A+1 und den Wert ausgeben. Alle Integer sollen am Ende in den byte Arrays als Bits gespeichert werden. Die Methode inc(A) soll also ein Array von Bits zurueckgeben das durch A+1 berechnet wird.
Ich hoffe es ist diesmal verstaendlicher beschrieben!
 
N

nillehammer

Gast
Aber das geht doch nicht. A ist in Deiner Methode ein Array (das mehrere Werte enthält) und kein einzelner Wert. Zu einem Array kann man nicht 1 addieren. Man kann aber zu jedem einzelnen Element des Arrays 1 addieren oder einen Array zurück geben, der ein Element mehr enthält als der übergebene (wobei dann die Frage ist, welchen Wert dieses Element enthalten soll). Und müssen es wirklich bytes sein? Die gehen nämlich nur bis 127. Würden ints Dir nicht mehr nützen?
 
Zuletzt bearbeitet von einem Moderator:

tropifrutti

Mitglied
oweia, dann hab ich die Aufgabenstellung voellig missverstanden. also dann muesste ich ein Variable in dem Byte-Array hochzaehlen lassen und die dann als Byte Interpreation ausgeben lassen. Kann man das mit einer Schleife machen und dann den Integer-Wert in einen Byte-Wert umwandeln? Oder wie gehts das?
Ist es dann mit diesem Code getan?
Java:
  public static byte[] inc(byte[] A) {
	for (int a = 0; a < 10 ; a++)
		System.out.println(a);
	return A;
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Tut mir leid, ich blick's immer noch nicht, was die Aufgabenstellung ist. Ich tipp jetzt einfach mal ins Blaue in der Hoffnung, dass es das ist, was Du willst. Der folgende Code nimmt einen Startwert und eine gewünschte Länge und liefert einen Array zurück, dessen erstes Element beim Startwert losgeht und dann soviele Elemente enthält, wie von Länge angegeben. Wobei jedes Element eins höher ist als das Vorhergehende:

Java:
public final int[] buildIntArray(final int startWert, final int laenge) {
  final int[] result = new int[laenge];
  for (int i = 0; i< laenge; i++) {
    result[i] = startWert + i;
  }
  return result;
}
 
Zuletzt bearbeitet von einem Moderator:

tropifrutti

Mitglied
Ich denke ich hab auch ein Problem mit dem Verstaendnis der Aufgabenstellung. Tut mir leid wenn ich es nicht schaffe mich ordentlich auszudruecken. Aber ich denke die letzte Antwort muesste die passende sein. Ich probiers einfach gleich nochmal aus!

Ok, also der Rahmen der Methode war so vorgegeben und ich soll lediglich in der Methode den Algorithmus zum Inkrementieren hinzufuegen. Das heisst mein Rueckgabewert ist ein Array. Das heisst vielleicht war ich mit meiner Integer-Idee von Anfang an auf dem Holzweg.
Java:
  // inc(A) returns an array of bits representing A+1.

  public static byte[] inc(byte[] A)
  {...}
 
Zuletzt bearbeitet:

0x7F800000

Top Contributor
Ich denke ich hab auch ein Problem mit dem Verstaendnis der Aufgabenstellung.
Leute... Worte (geschrieben oder ausgesprochen) dienen ja nicht dazu, papier / pixel zu verschwenden oder Luft zu erschüttern, sondern dazu Informationen zu übertragen. Aber aus irgendeinem Grund kommt bei vielen keine Information an ???:L Wenn man eine Aufgabenstellung liest, dann ist es kein Buchstabensalat, den man mit zwei dutzend Rechenregeln mechanisch umwurschten soll, sondern eine Idee. Und solange die Idee des Aufgabenstellers nicht angekommen ist, bringt es nicht, auf gut Glück irgendwelchen Buchstabensalat zu coden. Es ist wirklich so: es gibt [auch an Unis!!] so viele Leute, die Aufgabenstellung nur als Buchstabensalat wahrnehmen, und dann wieder Buchstabensalat zurückliefern, das ist unglaublich... :noe:

Selbst ohne jeglichen Kontext, ohne irgendwelche Kenntnisse über die Vorlesung leuchtet aus diesem ganzen Salat immer noch durch, was der Aufgabensteller gemeint hat: es geht darum, dass man einen Integer in einzelne Bits zerlegt (und in einem byte-array abspeichert), und dann versucht, diesen manuell, bit für bit zu inkrementieren.

Also sowas:
Java:
public class IntegerRepresentation {

	public static void increment(byte[] a){
		byte carry = 1;
		for (int i = 0; i < a.length; i++){
			byte b = a[i];
			a[i] ^= carry;
			carry &= b;
		}
	}
	
	public static String toBinaryString(byte[] a){
		String res = "";
		for (int i = 0; i < a.length; i++){
			res = (a[i] == 0 ? "0" : "1") + res;
		}
		return res;
	}
	
	public static void main(String[] args){
		byte[] a = new byte[8];
		for(int i = 0; i <= 32; i++){
			increment(a);
			System.out.println(toBinaryString(a));
		}
	}
}

Aber das geht doch nicht. A ist in Deiner Methode ein Array (das mehrere Werte enthält) und kein einzelner Wert.
Doch, in dieser Aufgabe anscheinend schon. byte[] stellt die einzelnen bits dar. Könnte genausogut boolean[] sein...


Vielleicht sollst du ja den wert jedes Eintrags im Array um einen byte erhöhen?
Nö.
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Selbst ohne jeglichen Kontext, ohne irgendwelche Kenntnisse über die Vorlesung leuchtet aus diesem ganzen Salat immer noch durch, was der Aufgabensteller gemeint hat: es geht darum, dass man einen Integer in einzelne Bits zerlegt (und in einem byte-array abspeichert), und dann versucht, diesen manuell, bit für bit zu inkrementieren.
Darauf wär ich nie gekommen! Respekt (natürlich nur, wenn's stimmt ;) ).

Und solange die Idee des Aufgabenstellers nicht angekommen ist, bringt es nicht, auf gut Glück irgendwelchen Buchstabensalat zu coden.
Abgesehen davon kann es schon helfen, ins Blaue hinein zu coden. Wenn damit bestimmte Verfahrensweisen (in diesem Fall das iterieren durch einen Array) für den Fragesteller klar werden. Auch wenn der Code ansich natürlich im Sinne der Aufgabenstellung nichts weiter Sinnvolles tut.
 

tropifrutti

Mitglied
Also erstmal vielen Dank euch beiden, dass ihr euch damit auseinander gesetzt habt! Tut mir noch einmal leid, dass nich das ruebergekommen ist was ich machen wollte! Die Antwort von 0x7F800000 liefert das Ergebnis, das ich wollte. Jetzt kann ich mich auch an die anderen Rechenarten machen! Super!
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Mit Werten aus Arrays in anderen Methoden rechnen? Java Basics - Anfänger-Themen 3
F Mit Arrays rechnen Java Basics - Anfänger-Themen 12
C Rechnen mit Brüchen, ist meine Lösung soweit richtig? Java Basics - Anfänger-Themen 4
C Kann mir jemand sagen warum ich nicht mal rechnen kann ? Java Basics - Anfänger-Themen 32
Liroyd Methode mit Objektvariabel rechnen? Java Basics - Anfänger-Themen 6
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
Zeppi Geteilt rechnen Java Basics - Anfänger-Themen 2
D Mit Objekten rechnen, Textfield, JavaFX, Noob Java Basics - Anfänger-Themen 8
L Mit Zahlen im String rechnen Java Basics - Anfänger-Themen 19
L Datentypen Rechnen und abrunden mit double Java Basics - Anfänger-Themen 7
S Hamster Simulator rechnen lernen Parameter int Java Basics - Anfänger-Themen 6
D Operatoren Mit Objekten rechnen Java Basics - Anfänger-Themen 7
P Rechnen mit Brüchen - objektorientierte Programmierung Java Basics - Anfänger-Themen 18
S Rechnen mit MaxValue Java Basics - Anfänger-Themen 7
L Rechnen mit Objekten Java Basics - Anfänger-Themen 3
W Erste Schritte Rechnen mit Schleifen? Denkanstoß gesucht Java Basics - Anfänger-Themen 15
W Seltames Problem bei Rechnen mit BigIntegers Java Basics - Anfänger-Themen 2
A Rechnen mit Text und Zahl Java Basics - Anfänger-Themen 4
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
S Dezimalzahlen rechnen Java Basics - Anfänger-Themen 3
kilopack15 Rechnen mit großen Zahlen Java Basics - Anfänger-Themen 6
D Rechnen mit numerischen Datentyp Frage Java Basics - Anfänger-Themen 16
E Best Practice Exaktes Rechnen mit (Pseudo-)Rationalen/Realen Zahlen. Operations Zuweisung für (eigene) Klassen Java Basics - Anfänger-Themen 3
1 Mit Java Rechnen Java Basics - Anfänger-Themen 10
T Einstieg in "grafische Progammierung" + Rechnen in Flussdiagramm Java Basics - Anfänger-Themen 2
W Variablen float rundet beim Bruch rechnen Java Basics - Anfänger-Themen 3
N Oracle SQL mit Zwischenergebnis rechnen Java Basics - Anfänger-Themen 2
Y Variable Menge von Objekten erzeugen und mit ihren Attributen rechnen Java Basics - Anfänger-Themen 7
S Double mithilfe eines Scanners so einlesen, dass ich damit rechnen kann Java Basics - Anfänger-Themen 4
J Char-Rechnen Java Basics - Anfänger-Themen 8
A Rechnen mit Set/Get? Java Basics - Anfänger-Themen 2
Z Erste Schritte Instanzmethoden Rechnen (Bruch) Java Basics - Anfänger-Themen 18
J Mit Datum rechnen Java Basics - Anfänger-Themen 11
F Erste Schritte [GUI] Dual in Dezimal rechnen Java Basics - Anfänger-Themen 5
D Erste Schritte Rechnen mit Brüchen Java Basics - Anfänger-Themen 13
D rechnen mit Stunden und Minuten Java Basics - Anfänger-Themen 14
N mit Werten aus einer mysql datenbank in java rechnen Java Basics - Anfänger-Themen 17
G Rechnen mit Long Variablen Java Basics - Anfänger-Themen 4
N Probleme beim Rechnen mit Integer und double Java Basics - Anfänger-Themen 4
W Variablen Rechnen mit "char" Java Basics - Anfänger-Themen 2
Joew0815 Compiler-Fehler Unexpected Type - Problem mit Variablen rechnen Java Basics - Anfänger-Themen 7
F Werte aus Tabelle vergleichen/rechnen Java Basics - Anfänger-Themen 5
C Mit Potenzen rechnen "Problem" Java Basics - Anfänger-Themen 3
M Mit Array rechnen Java Basics - Anfänger-Themen 9
B von Ergebniss weiter rechnen Java Basics - Anfänger-Themen 3
S Rechnen mit Datum bzw. Uhrzeit Java Basics - Anfänger-Themen 3
S Datentypen Operatoren und Ausdrücke (formel richtig rechnen) Java Basics - Anfänger-Themen 8
N Mit long rechnen Java Basics - Anfänger-Themen 2
K Übungsblatt 13 Aufgabe 6 (Rechnen) Java Basics - Anfänger-Themen 12
C Mit Gleitkommazahlen rechnen Java Basics - Anfänger-Themen 20
T Rechnen mit Operatoren Java Basics - Anfänger-Themen 2
W Mit (char) rechnen Java Basics - Anfänger-Themen 3
H Datentypen Rechnen mit signed Byte-Array - unsinged byte Java Basics - Anfänger-Themen 3
B mit benutzereingaben rechnen Java Basics - Anfänger-Themen 4
L Bruch rechnen Java Basics - Anfänger-Themen 29
B mit Datum rechnen Java Basics - Anfänger-Themen 10
D Rechnen mit int Array Java Basics - Anfänger-Themen 9
M mit Uhrzeit rechnen Java Basics - Anfänger-Themen 11
T mit Winkel & Sinus rechnen / sin(30°)=2,5 Java Basics - Anfänger-Themen 7
A Rechnen mit big integer Java Basics - Anfänger-Themen 29
L Mit matrizen rechnen Java Basics - Anfänger-Themen 19
W Probleme mit double rechnen Java Basics - Anfänger-Themen 4
J Datentypen Rechnen mit unterschiedlichen Datentypen Java Basics - Anfänger-Themen 3
K mit einer int rechnen Java Basics - Anfänger-Themen 10
M Warum -48 rechnen? Java Basics - Anfänger-Themen 3
K Java Code rechnen Java Basics - Anfänger-Themen 7
F Rechnen mit komplexen Zahlen Java Basics - Anfänger-Themen 23
C Datentypen Unklarheiten beim Rechnen Java Basics - Anfänger-Themen 5
W Modulo rechnen Java Basics - Anfänger-Themen 3
H Datentypen Rechnen und Runden Java Basics - Anfänger-Themen 2
S Rechnen mit Zeitangaben Java Basics - Anfänger-Themen 5
Binary.Coder Doppeltes Hashing verläuft in "Endlosscheife" beim rechnen per Hand Java Basics - Anfänger-Themen 8
F Mit Anzahl Startparametern rechnen Java Basics - Anfänger-Themen 17
T mit List<Integer> rechnen Java Basics - Anfänger-Themen 9
O einfaches rechnen mit zahlen Java Basics - Anfänger-Themen 4
K Stunden zusammen Rechnen Java Basics - Anfänger-Themen 4
T mit Typen Date rechnen Java Basics - Anfänger-Themen 6
S mit Werten aus 2D-Array rechnen Java Basics - Anfänger-Themen 32
J Anfänger-Problem: Rechnen mit Java Java Basics - Anfänger-Themen 3
J Mit Java exp Rechnen ? Java Basics - Anfänger-Themen 4
P Mit double und BigDecimal rechnen Java Basics - Anfänger-Themen 6
K Wie zerlege Ich einen String zum Rechnen? Java Basics - Anfänger-Themen 3
D Rechnen mit zwei Klassen Java Basics - Anfänger-Themen 19
J Mit Zeitzonen rechnen! Java Basics - Anfänger-Themen 3
G Float schneidet nach dem Rechnen auf eine Stelle ab Java Basics - Anfänger-Themen 9
L Eingeben Rechnen Ausgeben - Leider nicht so einfach Java Basics - Anfänger-Themen 31
G Mit tastatureingaben rechnen Java Basics - Anfänger-Themen 10
B Großer Java bug beim rechnen? Java Basics - Anfänger-Themen 66
S mit Strings rechnen Java Basics - Anfänger-Themen 16
D mit request.getParameter("x") rechnen Java Basics - Anfänger-Themen 3
T mit byte rechnen. ? Java Basics - Anfänger-Themen 8
MrTical Zahlen einlesen um damit zu rechnen Java Basics - Anfänger-Themen 5
Safado modulo rechnen Java Basics - Anfänger-Themen 5
F mit Dualzahlen rechnen Java Basics - Anfänger-Themen 5
J Rechnen mit Dualzahlen Java Basics - Anfänger-Themen 5
C Bedingtes Rechnen Java Basics - Anfänger-Themen 64
G mit Strings rechnen (Unicode) Java Basics - Anfänger-Themen 15
H Modulo rechnen Java Basics - Anfänger-Themen 17
T Rechnen Java Basics - Anfänger-Themen 3
G Taschenrechner.aber Rechnen bring ich nicht zam! Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben