Advertisement
Cre3d

Untitled

Jan 23rd, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.39 KB | None | 0 0
  1. package szkolawyklad;
  2.  
  3.  
  4. /*
  5.  * Zad 8
  6.  * Napisac program przeliczajacy liczbe z systemu 10 na dowolny inny !! //
  7.  *
  8.  * Zad 9
  9.  * Napisac program przeliczajacy liczbe z dowolnego systemu na system 10 !!
  10.  *
  11.  * Zad 10
  12.  * Napisac program przeliczajacy liczbe z dowolnego systemu na dowolny inny !!
  13.  *
  14.  * Zad 11
  15.  * Napisac program podajacy dzien tygodnia dla dowolnej daty
  16.  *
  17.  */
  18.  
  19.  
  20.  
  21. import java.io.*;
  22. import java.util.Scanner;
  23.  
  24. public class Przelicza {
  25. // System przelicza z 10 na system dowolny
  26.     static String ConvertTenTo(int dec, int base, char[] digits2)
  27.     {
  28.         String result = "";
  29.         int n = dec;
  30.         do{
  31.             result = digits2[n%base] + result;
  32.             n /= base;
  33.            
  34.         }while(n != 0);
  35.         return result;
  36.     }
  37. // System przelicza z systemu dowolnego na system 10
  38.     static int ConvertToTen(String number, int base, String digits )
  39.     {
  40.         int i;
  41.         int dec = 0;
  42.         String n = number;
  43.         n = n.toUpperCase();
  44.         for(i = 0; i < n.length(); i++)
  45.         {
  46.           char c = n.charAt(i);
  47.           int d = valueOf(c, base, digits);
  48.           dec = base*dec+d;
  49.         }
  50.         return dec;
  51.     }
  52.    
  53.     // Wyciaga nr.znaku z lancucha znakow
  54.     private static int valueOf(char x, int base, String digits)
  55.     {
  56.        for (int i=0; i<base; i++)
  57.        {
  58.           if (x == digits.charAt(i))
  59.           {
  60.              return i;
  61.           }
  62.        }
  63.        return -1;
  64.     }
  65.  
  66.    
  67.  
  68.     public static void main(String[] args){
  69.         // Lancuch znakow
  70.         String digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  71.         // Tablica znakow
  72.         char[] digits2 = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
  73.        
  74.         Scanner input = new Scanner(System.in);
  75.         System.out.println("Wpisz liczbę którą chcesz zamienić");
  76.         String liczba = input.nextLine();
  77.         System.out.println("W jakim systemie jest liczba?");
  78.         int system = input.nextInt();
  79.         System.out.println("Na jaki system chcesz ją zamienić?");
  80.         int systemchange = input.nextInt();
  81.        
  82.         if(system == 10)
  83.         {
  84.              int Liczba = Integer.valueOf(liczba);
  85.              System.out.print("Liczba "+ liczba + "("+system+")"+ " to "+ConvertTenTo(Liczba, systemchange, digits2)+"("+systemchange+")");
  86.              
  87.         }
  88.         else
  89.         {
  90.             int result = ConvertToTen(liczba, system, digits);
  91.              System.out.print("Liczba "+ liczba + "("+system+")"+ " to "+ConvertTenTo(result, systemchange, digits2)+"("+systemchange+")");
  92.         }
  93.     }
  94.  
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement