Hallo zusammen
Ich bin neu hier im Forum und benötige etwas Hilfe.
Mein Programm funktioniert irgendwie nicht, weil ich ein Array nicht ausgeben kann. Ich komme offensichtlich über die Arraygrösse hinaus. Ich komme aber nicht ganz drauf, was genau das Problem ist. Ich denke es fängt an mit der Zeile 38, falls das hier später angezeigt wird
Hier ist der Code
Ich bin neu hier im Forum und benötige etwas Hilfe.
Mein Programm funktioniert irgendwie nicht, weil ich ein Array nicht ausgeben kann. Ich komme offensichtlich über die Arraygrösse hinaus. Ich komme aber nicht ganz drauf, was genau das Problem ist. Ich denke es fängt an mit der Zeile 38, falls das hier später angezeigt wird
Hier ist der Code
Java:
import java.io.*;
public class dezimalzahl {
public static void main(String[] args) throws IOException {
// ab hier wird eine Zahl eingelesen und ausgegeben
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.print("Gib eine Zahl ein: ");
String eingabe = br.readLine();
int Zahl = Integer.parseInt(eingabe);
System.out.println("Du hast die Zahl " + Zahl + " eingegeben.");
// ab hier wird eine Basis eingelesen und ausgegeben
InputStreamReader isr2 = new InputStreamReader(System.in);
BufferedReader br2 = new BufferedReader(isr2);
System.out.print("Gib eine Basis ein: ");
String eingabe2 = br2.readLine();
int Basis = Integer.parseInt(eingabe2);
System.out.println("Du hast die Basis " + Basis + " eingegeben.");
int Dividend = Zahl;
int Rest = 0;
int i = 0;
while (Dividend > 0) { // notwendige Grösse des Arrays berechnen
Dividend = Dividend / Basis;
i++;
}
Dividend = Zahl;
int[] Array = new int[i]; // Array festlegen
int s = 0;
while (Dividend >= 0) { // Dividend und Rest (Binärcode = Rest) berechnen mittels Modulo Operator
Rest = Dividend % Basis;
Dividend = Dividend / Basis;
Array[s] = Rest; // Binärcode ins Array von hinten ausgehend schreiben
s++;
if (s > 4) {
Dividend = 0;
}
}
// oder anders
// for (int a = 0; a <= Array.length; a++) { // Binärcode darstellen
// if (a > Array.length) {
// a = Array.length;
// }
// System.out.println(Array[a]);
// }
}
}
Zuletzt bearbeitet: