System.out.println(m.multiplicationTable(10, 20));
این سیستم پرینتی که اینجا اومده آخرین مقدار result رو که از تابع شما داره برمیگرده چاپ میکنه!
شما که تو بدنه تابع دارید نمایش میدید اعداد را دیگه چه احتیاجی که آخرین مقدار را بازگشت بدید به تابع و اونجا هم چاپ کنید
و درضمن نیازی نیست که از کلاس Main یک آبجکت بسازید تابع جدول ضرب را استاتیک کنید می تونید تو تابع Main که استاتیک هست ازش استفاده کنید.
والبته اینطوری هم میتونید بنویسید!! مثلا اگر بخواهید که از علامت ضرب ریاضی استفاده نکنید و البته بدون حلقه با روش Recursive & Bit Binary Operator
java version
private static int cnt =0x1,index =11,result =0x0;
private static final int threshold = 20;
public static void main(String[] args) {
multiplicationTable2();
}
private static void multiplicationTable2() {
result += (index << 0x1) >> 0x1;
System.out.println(String.format("%d * %d = %d",cnt,index,result));
if (++cnt <= 0xa ) {
multiplicationTable2();
} else {
cnt = 0x1;
result =0x0 ;
if(++index <= threshold)
multiplicationTable2();
}
}
cpp version
static int cnt=0b0001,index =11,result =0b0000;
const int threshold = 20;
int main(int argc, char* argv[])
{
multiplicationTable2 ();
}
extern void multiplicationTable2() {
::result += (::index << 0b0001) >> 0b0001;
cout << ::cnt << " * " << ::index << " = " << ::result << endl;
if (++::cnt <= 0b1010 ) {
multiplicationTable2();
} else {
::cnt = 0b0001;::result =0b0000 ;
if(++::index <= ::threshold)
multiplicationTable2();
}
}
[