Napisałem o to taki programik który ma służyć po to aby zamienić liczby systemu dziesiątkowego na dowolny inny system liczbowy, niestety nie wiem czemu nie działa, na pewno jest coś nie tak z tablicą i jego elementami, pewnie nieźle namieszałem, ale nie często używam tablic więc nie wiem co jest nie tak.
import java.util.*;
public class binaryTranslator {
@SuppressWarnings("resource")
public static void main(String[] args){
while(true){
Scanner input = new Scanner(System.in);
System.out.println("Podaj system liczbowy");
int system = input.nextInt();
if(system == 1){
System.out.println("Błąd, nie istnieje taki system liczbowy");
}
else if(system > 35){
System.out.println("Błąd nie istnieje taki system liczbowy");
}
else{
Scanner input2 = new Scanner(System.in);
System.out.println("Podaj liczbę");
long l = input2.nextLong();
printBinaryLong(l, system);
}
}
}
static void printBinaryLong(long l, int system)
{
System.out.print("Liczba: " + l + " w systemie liczbowym: ");
System.out.print(system + " wynosić będzie: ");
String[] a1 = {};
for(int i = 0; l > 0; i++){
if(l%system == 10)
a1[i] = "A";
else if(l%system == 11)
a1[i] = "B";
else if(l%system == 12)
a1[i] = "C";
else if(l%system == 13)
a1[i] = "D";
else if(l%system == 14)
a1[i] = "E";
else if(l%system == 15)
a1[i] = "F";
else if(l%system == 16)
a1[i] = "G";
else if(l%system == 17)
a1[i] = "H";
else if(l%system == 18)
a1[i] = "I";
else if(l%system == 19)
a1[i] = "J";
else if(l%system == 20)
a1[i] = "K";
else if(l%system == 21)
a1[i] = "L";
else if(l%system == 22)
a1[i] = "M";
else if(l%system == 23)
a1[i] = "N";
else if(l%system == 24)
a1[i] = "O";
else if(l%system == 25)
a1[i] = "P";
else if(l%system == 26)
a1[i] = "Q";
else if(l%system == 27)
a1[i] = "R";
else if(l%system == 28)
a1[i] = "S";
else if(l%system == 29)
a1[i] = "T";
else if(l%system == 30)
a1[i] = "U";
else if(l%system == 31)
a1[i] = "V";
else if(l%system == 32)
a1[i] = "W";
else if(l%system == 33)
a1[i] = "X";
else if(l%system == 34)
a1[i] = "Y";
else if(l%system == 35)
a1[i] = "Z";
else if(l%system == 0)
a1[i] = "0";
else if(l%system == 1)
a1[i] = "1";
else if(l%system == 2)
a1[i] = "2";
else if(l%system == 3)
a1[i] = "3";
else if(l%system == 4)
a1[i] = "4";
else if(l%system == 5)
a1[i] = "5";
else if(l%system == 6)
a1[i] = "6";
else if(l%system == 7)
a1[i] = "7";
else if(l%system == 8)
a1[i] = "8";
else if(l%system == 9)
a1[i] = "9";
l = l/system;
}
for(int j = a1.length; j > 0; j--){
System.out.print(a1[j]);
}
System.out.println("");
}
}