Test isimli main sınıfımız:
public class Test {
public static void main(String[] args) {
System.out.println(TabanCevir.tabanCevir(12121, 8));
}
}
İşlemlerin yapıldığı TabanCevir isimli sınıfımız:
public class TabanCevir {
public static String reverse(String deger)
{
String sonuc = "";
for (int i = deger.length(); i >0; i--)
{
sonuc += deger.substring(i-1, i);
}
return sonuc;
}
static int i=0;
static String cevrilenString="";
public static String tabanCevir(int sayi, int cevTaban)
{
if(cevTaban < 2 || cevTaban > 16)
{
return "Taban 2-16 arasinda olmali";
}
else if(sayi < cevTaban)
{
cevrilenString+=sayi;
return reverse(cevrilenString);
}
else
{
while(true)
{
if(sayi < cevTaban)
{
cevrilenString+=sayi;
break;
}
else if(sayi > cevTaban && cevTaban > 10)
{
sayi = OndanBuyukTaban(sayi, cevTaban);
}
else{
cevrilenString+=sayi%cevTaban;
sayi=sayi/cevTaban;
}
}
if(i==1)
{
return cevrilenString;
}
return reverse(cevrilenString);
}
}
private static int OndanBuyukTaban(int sayi, int cevTaban) {
if(sayi/cevTaban==10)
{
cevrilenString+="a";
sayi=sayi%cevTaban;
i=1;
}else if(sayi/cevTaban==11)
{
cevrilenString+="b";
sayi=sayi%cevTaban;
i=1;
}else if(sayi/cevTaban==12)
{
cevrilenString+="c";
sayi=sayi%cevTaban;
i=1;
}else if(sayi/cevTaban==13)
{
cevrilenString+="d";
sayi=sayi%cevTaban;
i=1;
}else if(sayi/cevTaban==14)
{
cevrilenString+="e";
sayi=sayi%cevTaban;
i=1;
}else if(sayi/cevTaban==15)
{
cevrilenString+="f";
sayi=sayi%cevTaban;
i=1;
}else{
sayi = OndanKucukTaban(sayi, cevTaban);
}
return sayi;
}
private static int OndanKucukTaban(int sayi, int cevTaban) {
if(sayi%cevTaban==10)
{
cevrilenString+="a";
sayi=sayi/cevTaban;
i=0;
}else if(sayi%cevTaban==11)
{
cevrilenString+="b";
sayi=sayi/cevTaban;
i=0;
}else if(sayi%cevTaban==12)
{
cevrilenString+="c";
sayi=sayi/cevTaban;
i=0;
}else if(sayi%cevTaban==13)
{
cevrilenString+="d";
sayi=sayi/cevTaban;
i=0;
}else if(sayi%cevTaban==14)
{
cevrilenString+="e";
sayi=sayi/cevTaban;
i=0;
}else if(sayi%cevTaban==15)
{
cevrilenString+="f";
sayi=sayi/cevTaban;
i=0;
}
else{
cevrilenString+=sayi%cevTaban;
sayi=sayi/cevTaban;
i=0;
}
return sayi;
}
}
0 yorum:
Yorum Gönder