Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Odejmowanie {
- public static int [] naTabInt(String liczba, int wymiar)
- {
- int [] tab = new int[wymiar];
- int pozycja = liczba.length() - 1;
- for (int i = 0; i < wymiar; i++)
- {
- if (pozycja < 0) tab[i] = 0;
- else tab[i] = liczba.charAt(pozycja--) - 48;
- }
- return tab;
- }
- public static String pomnoz(String A, String B)
- {
- int a = Integer.parseInt(A);
- int b = Integer.parseInt(B);
- int mul = a * b;
- return String.valueOf(mul);
- }
- public static String odejmij(String A, String B)
- {
- String wynik = "";
- int wymiar = Math.max(A.length(), B.length()) + 1;
- int [] tA = new int[wymiar];
- int [] tB = new int[wymiar];
- int [] tW = new int[wymiar];
- tA = naTabInt(A, wymiar);
- tB = naTabInt(B, wymiar);
- for (int i=0; i< wymiar; i++) tW[i] = 0;
- for (int i = 0; i <wymiar - 1; i++)
- {
- tW[i+1] += (tW[i]+tA[i]-tB[i]+10)/10 - 1;
- tW[i] = (tW[i]+tA[i]-tB[i] + 10)%10;
- }
- while (wymiar >1 && tW[wymiar-1]==0)wymiar--;
- if(String.valueOf(tW[wymiar-1]).equals("-1")){
- wynik+='-';
- for(int i=wymiar-1; i>1; i--) {
- char tmp = (char)(9-tW[i-1]+48);
- if(tmp!='0') wynik+=tmp;
- }
- char lasttmp = (char)(10-tW[0]+48);
- wynik+= lasttmp;
- }
- else {
- for (int i= wymiar; i >0; i--) {
- wynik += (char)(tW[i-1]+48);
- }
- }
- return wynik;
- }
- public static void main(String[] args)
- {
- String A="13", B="14";
- System.out.print(A+" - "+B+" = ");
- System.out.println(odejmij(A,B));
- A="9999";
- B="9999";
- System.out.print(A+" - "+B+" = ");
- System.out.println(odejmij(A,B));
- A="10";
- B="-10";
- System.out.print(A+" * "+B+" = ");
- System.out.println(pomnoz(A,B));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement