Hallo, ich habe im Rahmen meiner ausbildung ein paar einfache Java aufgaben bekommen bzw. ich übe damit, um meine kenntnisse zu verbessern
Das programm welches ich geschrieben habe funktionert, es macht die richtige konsolenausgabe, aber trotzdem wird eine seltsame exception vom stack geworfen hat irgendeiner eine idee warum?
Das programm welches ich geschrieben habe funktionert, es macht die richtige konsolenausgabe, aber trotzdem wird eine seltsame exception vom stack geworfen hat irgendeiner eine idee warum?
Java:
import java.util.*;
public class DezimalNachHexadezimal {
public static void main(String[] args) {
System.out.println("Gib eine Dezimalzahl ein: ");
Scanner zahlInput = new Scanner(System.in);
String zahlString = zahlInput.nextLine();
double zahl = Double.parseDouble(zahlString);
boolean weiterTeilen=true;
Stack zahlStapel = new Stack();
do{
double tempZahl;
tempZahl = zahl/16;
String tempZahlString = Double.toString(tempZahl);
int komma = tempZahlString.indexOf(".");
String substringWeiterteilen = tempZahlString.substring(0,komma);
String substringRest = tempZahlString.substring(komma+1);
String andenRestDran = "0.";
String rest = andenRestDran.concat(substringRest);
double restZahl = (Double.parseDouble(rest)) * 16;
int restZahlForSwitch = (int) restZahl;
zahl = Double.parseDouble(substringWeiterteilen);
switch(restZahlForSwitch)
{
case 0 : weiterTeilen = false;
break;
case 1 : zahlStapel.addElement("1");
break;
case 2 : zahlStapel.addElement("2");
break;
case 3 : zahlStapel.addElement("3");
break;
case 4 : zahlStapel.addElement("4");
break;
case 5 : zahlStapel.addElement("5");
break;
case 6 : zahlStapel.addElement("6");
break;
case 7 : zahlStapel.addElement("7");
break;
case 8 : zahlStapel.addElement("8");
break;
case 9 : zahlStapel.addElement("9");
break;
case 10 : zahlStapel.addElement("a");
break;
case 11 : zahlStapel.addElement("b");
break;
case 12 : zahlStapel.addElement("c");
break;
case 13 : zahlStapel.addElement("d");
break;
case 14 : zahlStapel.addElement("e");
break;
case 15 : zahlStapel.addElement("f");
break;
}
}while(weiterTeilen==true);
int laenge= zahlString.length();
for(int i = 0; i<laenge;i++)
{
System.out.print(zahlStapel.pop() );
}
zahlInput.close();
}
}
Zuletzt bearbeitet von einem Moderator: