Ich habe folgendes Programm geschrieben. Es rechnet Dezimalzahlen in Binärzahlen um. Die Ausgegebene Zahl stimmt zwar (laut Windows Taschenrechner), aber er setzt immer Nullen vor die Zahl (klar, liegt an der Schleife i<10). Wie kann ich das Programm umschreiben, um mir beliebig lange Binärzahlen auszugeben, also auch mehr als 10 Stellen und weniger als 10 Stellen, OHNE, dass er mir die Binärzahl mit Nullen verlängert?
Code:
public class DeziDual
{
public static int[] Dezidual (int Dezi)
{
int Stelle=10;
int Dual[] = new int[Stelle];
for (int i=0; i<10; i++)
{
Dual[i]=Dezi%2;
Dezi=Math.round(Dezi/2);
}
return Dual;
}
public static void main (String args[])
throws IOException
{
InputStreamReader Input = new InputStreamReader(System.in);
BufferedReader DataIn = new BufferedReader(Input);
int Dezi=0;
int Stellen=0;
int Dual[] = new int[Stellen];
String Dualzahl="";
System.out.println("Bitte geben sie einen Integer-Wert an.");
Dezi=Integer.parseInt(DataIn.readLine());
Dual=Dezidual(Dezi);
for (int i=0; i<Dual.length; i++)
{
Dualzahl=Dual[i]+Dualzahl;
}
System.out.println("Der Binaerwert der Zahl ist: " + Dualzahl);
}
}