Naloga/Programiranje/Objektno programiranje/Razred Kompleksno/Rešitev (Java)

Iz MaFiRaWiki

  1. public class Kompleksno{
  2. double re;
  3. double im;
  4. public Kompleksno(double a, double b){
  5. re=a;
  6. im=b;
  7. }
  8. public Kompleksno(double a){
  9. re=a;
  10. im=0.0;
  11. }
  12. //objektne metode:
  13. public String toString(){
  14. if(im==0.0) return Double.toString(re);
  15. return re+" + "+im+" * i";
  16. }
  17. public double get_re(){
  18. return re;
  19. }
  20. public double get_im(){
  21. return im;
  22. }
  23. public void pristej(Kompleksno z){
  24. re+=z.re;
  25. im+=z.im;
  26. }
  27. public Kompleksno vsota(Kompleksno z){
  28. return new Kompleksno(re+z.re,im+z.im);
  29. }
  30. public void odstej(Kompleksno z){
  31. re-=z.re;
  32. im-=z.im;
  33. }
  34. public Kompleksno razlika(Kompleksno z){
  35. return new Kompleksno(re-z.re,im-z.im);
  36. }
  37. public Kompleksno zmnozek(Kompleksno z){
  38. return new Kompleksno(re*z.re-im+z.im, re*z.im+im*z.re);
  39. }
  40. public void pomnozi(Kompleksno z){
  41. im=re*z.re-im+z.im;
  42. re=re*z.im+im*z.re;
  43. }
  44. public Kompleksno kvadrat(){
  45. return zmnozek(this);
  46. }
  47. public void deli(Kompleksno z){
  48. double a=(z.re*z.re+z.im*z.im);//"z" pomnožim z "z konugirano"
  49. this.pomnozi(z.konjugirano());
  50. re/=a;
  51. im/=a;
  52. }
  53. public Kompleksno kvocient(Kompleksno z){
  54. double a=(z.re*z.re+z.im*z.im);//"z" pomnožim z "z konugirano"
  55. this.pomnozi(z.konjugirano());
  56. return new Kompleksno(re/a, im/a);
  57. }
  58. public Kompleksno konjugirano(){
  59. return new Kompleksno(re, -im);
  60. }
  61. public double abs(){
  62. return Math.sqrt(re*re+im*im);
  63. }
  64.  
  65. }
Osebna orodja