Advertisement
Guest User

Untitled

a guest
Jun 15th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. public class Odejmowanie {
  2.  
  3.  
  4. public static int [] naTabInt(String liczba, int wymiar)
  5. {
  6. int [] tab = new int[wymiar];
  7. int pozycja = liczba.length() - 1;
  8. for (int i = 0; i < wymiar; i++)
  9. {
  10. if (pozycja < 0) tab[i] = 0;
  11. else tab[i] = liczba.charAt(pozycja--) - 48;
  12. }
  13. return tab;
  14. }
  15.  
  16. public static String pomnoz(String A, String B)
  17. {
  18. int a = Integer.parseInt(A);
  19. int b = Integer.parseInt(B);
  20. int mul = a * b;
  21.  
  22. return String.valueOf(mul);
  23. }
  24.  
  25. public static String odejmij(String A, String B)
  26. {
  27. String wynik = "";
  28. int wymiar = Math.max(A.length(), B.length()) + 1;
  29.  
  30. int [] tA = new int[wymiar];
  31. int [] tB = new int[wymiar];
  32. int [] tW = new int[wymiar];
  33.  
  34. tA = naTabInt(A, wymiar);
  35. tB = naTabInt(B, wymiar);
  36.  
  37. for (int i=0; i< wymiar; i++) tW[i] = 0;
  38.  
  39. for (int i = 0; i <wymiar - 1; i++)
  40. {
  41. tW[i+1] += (tW[i]+tA[i]-tB[i]+10)/10 - 1;
  42. tW[i] = (tW[i]+tA[i]-tB[i] + 10)%10;
  43. }
  44.  
  45. while (wymiar >1 && tW[wymiar-1]==0)wymiar--;
  46.  
  47. if(String.valueOf(tW[wymiar-1]).equals("-1")){
  48. wynik+='-';
  49. for(int i=wymiar-1; i>1; i--) {
  50. char tmp = (char)(9-tW[i-1]+48);
  51. if(tmp!='0') wynik+=tmp;
  52. }
  53. char lasttmp = (char)(10-tW[0]+48);
  54. wynik+= lasttmp;
  55. }
  56. else {
  57. for (int i= wymiar; i >0; i--) {
  58. wynik += (char)(tW[i-1]+48);
  59. }
  60. }
  61. return wynik;
  62. }
  63.  
  64. public static void main(String[] args)
  65. {
  66. String A="13", B="14";
  67. System.out.print(A+" - "+B+" = ");
  68. System.out.println(odejmij(A,B));
  69.  
  70. A="9999";
  71. B="9999";
  72. System.out.print(A+" - "+B+" = ");
  73. System.out.println(odejmij(A,B));
  74.  
  75. A="10";
  76. B="-10";
  77. System.out.print(A+" * "+B+" = ");
  78. System.out.println(pomnoz(A,B));
  79. }
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement