در این قسمت تیم کدگیت را با آموزش تفریق اعداد مختلط در جاوا همراهی کنید. طبق روال گذشته ابتدا اعداد مختلط را تعریف و روش تفریق این اعداد را بررسی کرده و سپس به پیاده سازی تفریق اعداد مختلط میپردازیم. پیشنهاد میکنیم قبل از بررسی این جلسه، آموزشهای زیر را مطالعه کنید:
اعداد مختلط
اعداد مختلط دسته ویژهای از اعداد هستند که از ترکیب یک عدد حقیقی و یک عدد موهومی به دست میآیند. فرم نوشتار این اعداد به صورت a+ib است. a را قسمت حقیقی و b را قسمت موهومی میگویند. مانند اعداد حقیقی اعداد مختلط نیز اعمالی نظیر جمع، ضرب و تفریق و … برای آنها تعریف شده است.
تفریق اعداد مختلط
برای اینکه دو عدد مختلط را با هم تفریق کنیم کار بسیار سادهای داریم. قسمتهای موهومی و حقیقی دو عدد به صورت جداگانه با یکدیگر تفریق کرده و حاصل را بدست میآوریم. فرض کنید عدد 1+2i و 3+4i را با هم تفریق کنیم. اعداد 1 و 3 را با هم تفریق کرده و اعداد 2 و 4 را نیز با یکدیگر تفریق میکنیم. پس حاصل تفریق برابر با -2-2i است.
تفریق اعداد مختلط در جاوا
برای پیاده سازی اعداد مختلط ما یک کلاس به نام Complex میسازیم. این کلاس دو متغیر به نام imaginary (موهومی) و real (حقیقی) دارد که در Constructor آنها را مقدار دهی میکنیم. متدی به نام Subtract نوشتیم که دو عدد مختلط (شی از کلاس Complex) به عنوان ورودی میگیرد و قسمتهای حقیقی و موهومی آنها را با هم تفریق کرده و در خروجی به ما میدهد. کد توضیحات فوق به صورت زیر میباشد:
public class Complex {
int real, imaginary;
public Complex() {
}
public Complex(int real, int imaginary) {
this.real = real;
this.imaginary = imaginary;
}
Complex subtract(Complex C1, Complex C2) {
Complex temp = new Complex();
temp.real = C1.real - C2.real;
temp.imaginary = C1.imaginary - C2.imaginary;
return temp;
}
void printComplexNumber() {
System.out.println("Complex number: " + real + " + " + imaginary + "i");
}
}
در کد فوق یک متد به نام printComplexNumber آورده شده که برای چاپ اعداد مختلط به کار میرود.
تست تفریق اعداد مختلط در جاوا
کد تست تفریق اعداد مختلط به صورت زیر میباشد:
public static void main(String[] args) {
// First Complex number
Complex C1 = new Complex(3, 2);
// printing first complex number
C1.printComplexNumber();
// Second Complex number
Complex C2 = new Complex(9, 5);
// printing second complex number
C2.printComplexNumber();
Complex C3 = new Complex();
C3 = C3.subtract(C1, C2);
System.out.print("Difference of ");
C3.printComplexNumber();
}
تصویر زیر خروجی کد فوق میباشد:
Complex number: 3 + 2i
Complex number: 9 + 5i
Difference of Complex number: -6 + -3i