Hallo Programmierfreunde, als absoluter Neuerling versuche ich mich in der Java Welt zurecht zu finden. Da ich nicht weiter weiß befrage ich hier die Profis.
Ich suche hier keine fertigen Lösungen, sondern lediglich Bearbeitungshinweise bzw. Erläuterungen. Denn ich will ja was lernen.
Also ich habe zwei Klassen, die sehen so aus:
public class DualZahl {
private byte[] dZahl8 = new byte[8];
public void DualZahl() {
for (int i = 0; i < dZahl8.length; i++)
dZahl8 = 0;
}
public void setZahl(byte[] zahl1) {
for (int i = 0; i < zahl1.length; i++) {
dZahl8 = zahl1;
}
}
public void add(byte[] zahl2) {
for (int i = 0; i < dZahl8.length; i++) {
dZahl8 += zahl2;
System.out.print(dZahl8);
}
}
public byte[] getZahl() {
return dZahl8;
}
}
----------------------------------------------------------------------------------------------------//2. Klasse:
public class DualzahlenArithmetik {
public DualzahlenArithmetik() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
byte[] zahl1 = { 0, 0, 0, 1, 1, 1, 1, 1};
byte[] zahl2 = { 0, 1, 0, 1, 1, 1, 0, 1};
byte[] zahl3 = new byte[8];
DualZahl dZahl1 = new DualZahl();
dZahl1.setZahl(zahl1);
dZahl1.add(zahl2);
zahl3 = dZahl1.getZahl();
System.out.print("Ergebnis: ");
for (int i = 0; i < zahl3.length; i++)
System.out.print(zahl3);
}
}
----------------------------------------------------------------------------------------------------
P.S: mit Sicherheit werden Dualzahlen so nicht miteinander addiert. Ich versuche gerade erst mal zu verstehen was ich da bis hierhin programmiert habe.
Meine Frage:
Warum bekomme ich in der Addition: dZahl8 += zahl2;
01022212 als Ergebnis und nicht 00122212?
Vielen Dank für eure Antworten.
Beste Grüße
Tobias
Ich suche hier keine fertigen Lösungen, sondern lediglich Bearbeitungshinweise bzw. Erläuterungen. Denn ich will ja was lernen.
Also ich habe zwei Klassen, die sehen so aus:
public class DualZahl {
private byte[] dZahl8 = new byte[8];
public void DualZahl() {
for (int i = 0; i < dZahl8.length; i++)
dZahl8 = 0;
}
public void setZahl(byte[] zahl1) {
for (int i = 0; i < zahl1.length; i++) {
dZahl8 = zahl1;
}
}
public void add(byte[] zahl2) {
for (int i = 0; i < dZahl8.length; i++) {
dZahl8 += zahl2;
System.out.print(dZahl8);
}
}
public byte[] getZahl() {
return dZahl8;
}
}
----------------------------------------------------------------------------------------------------//2. Klasse:
public class DualzahlenArithmetik {
public DualzahlenArithmetik() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
byte[] zahl1 = { 0, 0, 0, 1, 1, 1, 1, 1};
byte[] zahl2 = { 0, 1, 0, 1, 1, 1, 0, 1};
byte[] zahl3 = new byte[8];
DualZahl dZahl1 = new DualZahl();
dZahl1.setZahl(zahl1);
dZahl1.add(zahl2);
zahl3 = dZahl1.getZahl();
System.out.print("Ergebnis: ");
for (int i = 0; i < zahl3.length; i++)
System.out.print(zahl3);
}
}
----------------------------------------------------------------------------------------------------
P.S: mit Sicherheit werden Dualzahlen so nicht miteinander addiert. Ich versuche gerade erst mal zu verstehen was ich da bis hierhin programmiert habe.
Meine Frage:
Warum bekomme ich in der Addition: dZahl8 += zahl2;
01022212 als Ergebnis und nicht 00122212?
Vielen Dank für eure Antworten.
Beste Grüße
Tobias