From 5ce38dfc6125345b368a6e84ae591490853e7fcf Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Fri, 11 Aug 2023 22:52:44 +0800 Subject: [PATCH 01/37] Modified to Eclipse env --- .classpath | 15 +++++++++++++++ .gitignore | 8 -------- .project | 17 +++++++++++++++++ .settings/org.eclipse.core.resources.prefs | 2 ++ .settings/org.eclipse.jdt.core.prefs | 14 ++++++++++++++ bin/module-info.class | Bin 0 -> 233 bytes bin/resources/icon/icon-notice.txt | 1 + bin/resources/icon/icon.png | Bin 0 -> 3466 bytes .../BufferedImageCustom.class | Bin 0 -> 894 bytes .../Calculator$BiOperatorModes.class | Bin 0 -> 1429 bytes .../Calculator$MonoOperatorModes.class | Bin 0 -> 1635 bytes bin/simplejavacalculator/Calculator.class | Bin 0 -> 2838 bytes .../SimpleJavaCalculator.class | Bin 0 -> 865 bytes bin/simplejavacalculator/UI.class | Bin 0 -> 8825 bytes .../CalculatorTest.class | Bin 0 -> 4198 bytes build/built-jar.properties | 4 ++++ src/module-info.java | 11 +++++++++++ .../CalculatorTest.java | 2 +- 18 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 .classpath delete mode 100644 .gitignore create mode 100644 .project create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 bin/module-info.class create mode 100644 bin/resources/icon/icon-notice.txt create mode 100644 bin/resources/icon/icon.png create mode 100644 bin/simplejavacalculator/BufferedImageCustom.class create mode 100644 bin/simplejavacalculator/Calculator$BiOperatorModes.class create mode 100644 bin/simplejavacalculator/Calculator$MonoOperatorModes.class create mode 100644 bin/simplejavacalculator/Calculator.class create mode 100644 bin/simplejavacalculator/SimpleJavaCalculator.class create mode 100644 bin/simplejavacalculator/UI.class create mode 100644 bin/simplejavacalculatorTest/CalculatorTest.class create mode 100644 build/built-jar.properties create mode 100644 src/module-info.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..b607183 --- /dev/null +++ b/.classpath @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b0cbf6e..0000000 --- a/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -/nbproject/private/ -/build/ -/dist/ -*.class - -# Mac OS System -.DS_Store* -._* diff --git a/.project b/.project new file mode 100644 index 0000000..0f6db7b --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + SimpleJavaCalculator + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8c9943d --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/bin/module-info.class b/bin/module-info.class new file mode 100644 index 0000000000000000000000000000000000000000..ef51cbdcf6278cbccfdc198645833f6a2cf13dc7 GIT binary patch literal 233 zcmYk0%??2^5QWcNKi9vTly|VvH?WdeNUS_TQBq2qYOOt&g$M9ZqQ=H7zB4oDOfs+c z;|XAfszgEPp4~24JvEoTBXrg-g{@u~s|nSgC6DT+2+b9z1xmtbZO-26Wj5x@Zj)8f z1%Wo9_YKRPzMi7<0$oDmm@Xy?^a*1Z4wA=AZ=w!Tc_T0+wE1qMuKEs8e)3lZYPl&; VM0o9; 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 Wh5FTn{T2KnhZyM-^eT0T5&r|jn%gn} literal 0 HcmV?d00001 diff --git a/bin/simplejavacalculator/BufferedImageCustom.class b/bin/simplejavacalculator/BufferedImageCustom.class new file mode 100644 index 0000000000000000000000000000000000000000..ae8edfb465ba015f62bbe424f86aea53259aed83 GIT binary patch literal 894 zcma)4%Wl&^6g`uqb?O?@*aX6>yb2`l!x9p!01`wXMKX=lqV6Zo)Sb$)BYO<}EZ7vp zf)C)M5O*eqLg|8q$8+zTd+xc9??1kN1MnQ%7HSN=LeA!iIOgwp#FMB@xXSY2Re5+Q zaxopvcr1oxp|Y8U2E&@h1qn~%U_3b%kz!bWCR3?iFw}ef1BS*hn+h9stTO8tDn$!T z=cQUe2R82FzJ+@X9i8ALFb&Wk-H6fH!2@j242XBi@U-GRNAgFPO!(i!rk*VsHx2vW zcGf3)NS(#QIbH^9Vst!VSU(HBIETG&8u&))h3Hd27XVgKk}<%L^UP+;GLH0Py{=pJz|wuk z&6O^X(_7|l%W%1O$7vXzj4;Dhem!UD_F=AU2TcaacHE|JG2|8{DK zaK;hBFqQ4UF==Abv2Fzh9hTCW{>Kr=LoCY3GbDQ2Jn?*^so)WoX!^SA>L+!lMbppr z4r6!!$f)~;?VkDkcF}+sWKr1e0YkZ$)|p|Z@0a6kKT)uZrwq%z5lfctd4--bE>m<{ z;zA{{#Z@P8>&A1Fk9Mf5^96pBdR5IsTlWK(zLt6da(1!rg4ZaavTfUjD=OsMv%xU= zj}@W1{#ZKNimKuHFC5R`$dgz?w7~MlC>I|FU zRSZ#_1fdUv`S1M~FfDm4bcW<9QUcrz3ot6cctn5+0d7kIObT#U7GO$%>8JoR3F#}v z3$>9_wQw7wsupQuLe-=;CRI&tV@lPcZOo{rnEgcQ2auuvI9VWtDn^hMUjBvlu~TfG zS{Kb{=O)fD*Ck4H0UeSe&NAkC*R**Lu+X8e(8M@B)yAy$GL*g0ioD95(D*rW^B+Y* zUdFFzq;}!qF_y8?iIJs(c&>PoWzX^W8`$4@VLTHN3MdM@iZ#w8KEpaT>E*VBfBh#+ CqfLYW literal 0 HcmV?d00001 diff --git a/bin/simplejavacalculator/Calculator$MonoOperatorModes.class b/bin/simplejavacalculator/Calculator$MonoOperatorModes.class new file mode 100644 index 0000000000000000000000000000000000000000..ea308c4021b3a1b99eefdee2a51a5088473536a7 GIT binary patch literal 1635 zcmbW1T~pIQ6o%iWrD?+o5fuge29;K{0)ii{2x9rrma0)^GG2ueF-}M@Ntxjf_DAr_1$=yQjcU;XrDPcb{d^J1WrnvLO&h1*jmyzQa)&f8HcXFURcVm zWN7W6L?=>dXbfj1G=?<81&K66hGAGD!=N)JBkWzh3s!~a3~f(%hwF*Va=I$ zxxGCHx92*qq|=)2x^KsIz8|HwgdANwM9I^%rCjoTCsZ}^oqQs2?jILV;OHNhSs=aa zMDbz}#WQ0hngsnCx@P)WxBywwtg<9mWl5>Zl1P;$eJV@RRF+h!ED2Is(js6Cuo5YA zl4ReDW3TKY=X{8z%GA*rv%chlX zAZuC%xkky5FHeS?<76@oOqx5m^?{DmfjcznWPt&^LqF~+FTbJxN2>v2)NXFLmb-d- z7lnhs6fHn2NUFJpB6pJh6!$RQ3ZJ5{#NmAn+_D}ga$l?>pP-T$+{69R_w=S&Ml+k( wFCjx(pKs;J(Hh=M?-jW{EPRFddt4HaRL;jJD_g-bM^d~%6;DYm&y>IV3j|VgJOBUy literal 0 HcmV?d00001 diff --git a/bin/simplejavacalculator/Calculator.class b/bin/simplejavacalculator/Calculator.class new file mode 100644 index 0000000000000000000000000000000000000000..9cf9de1ccab731754d0608ac88f2b7a50bf32be6 GIT binary patch literal 2838 zcmb7FTXR!Y7+t3+NfSqpXrX|}X>wW)O>)|El5$f( z@jl)~8Jy7>XPi7EN~toVFFxtJZ~g$^e00Vc$Mx-`2@qzAFy!q0eQST0wb%am_1_-^QpW!pMlQvR*Xn0IVjhI3MR>s_)OOKh(VS{Z*Yc?4f zF&s4OTBs-X5Sr)H?6LaEv4(K8rIIcw;z=Doc%`kCI#x+J9wV6yU^UkI zu;xDg3nc4UhxHm3Cl%!*Mk>dG$yHpUMRhEKS5C)tw4zOeZ$=P9<7_t?e`pPL*r=mj zGA~M7nVc)Nbm-VDmYQ@fm9?f)=f${H$5UeTCaoDOX^Lr^j%UQ=KR0EcH645Wd;p!; z=>tg!mgO;MWKZkVo!lyc%oL5sTjD-+ldCeU&v9%gfZYgcs6CW55|e|*RFVC~_fV?g zNOYlFs8CiV{SRTod--oZ5dH~}%x85xjweWA#yl(PWbsr!8!MI4H=Q$hx$C2k6kKBN z*U^hO32;o;%$Cxz-%`*)J7a4YUARL5-v4?YsSH1cal{9{t&WABP(=nEM=?qTxNO`Z zAzK!_hKdk7B>!<8CnQjy5a^(7XGJ(Cb-aXAeDvXJ$GA8=3EPzbRGB3K{8{^;k+h7AvQ7%>l;G1kG79fn8NpA!K4E1*#6cqT`Y}l(Huz+!YU z>zW)>p$8_bhWd)D;1tTX&g;-h}aT4op?0bY6Dvuhj zA~y@$#ypy3JBy~^^&42qbu-sRQ(_J+0&Fg#H{>5gOcW7}ys5%DS$1xzaN1?((|Ihv zKk*#4i~BBikKVzapIN>K(s~y{{B0sttGQasX4lEk=BRAp5NyRhwBZ;wBFV9P79G^g zW?aKoe8u_t9k$;?)!iahJ&fmvFBGkgL?Vr3ibJHp9KL2!xwTH#R$wj?3$m=+h{W1% zlebo0OBj8s5gH<~*ev$VI}~j^T_}9Ly5(IgybBGS!^_Z(2=-tN^F^6)6Z%-v*pO`cOa>>K<2*_b5lhD8e|->o`GepTq{v?rktAoiW~ak|dhk zP2e>DUgB83ib;Hl6uyCtTbRZVaPSMV_zgMy&Uf$!&f!m7z+bqCe{i`hGR-qD1Frg+ zm6y&{S!5y9hU@FX;YjtW+WPv2dfwT`>efHOr~EchOLaVSt$PK>tA@|`{hW5uXdQdcdji%@{9ZYjL(xSZ^8!m99jVuo zVP7S0WIt2_H##x7dNR?*o;t1cgB}aCI{%$en`A?&BY_p~UFRaPZkp(5&~El@To+iK ziFdf`poF3k%PuM=Ps@~1#44&b)-F}r{W4C~&_xY(RvAxNbmfds$NmAyQc@~8Y&&S+ zmW_3R@Ns+-flUEtpwc}x9?Jn+vFtUkX71n)?%BBe59Tt9i~D#WV2=!O z$m%QJRfud7G8wR=PR^l9es_%GN7$MpaJ literal 0 HcmV?d00001 diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class new file mode 100644 index 0000000000000000000000000000000000000000..9550bf9425bb8696d3c43241551e7cf22a172fc5 GIT binary patch literal 8825 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 literal 0 HcmV?d00001 diff --git a/bin/simplejavacalculatorTest/CalculatorTest.class b/bin/simplejavacalculatorTest/CalculatorTest.class new file mode 100644 index 0000000000000000000000000000000000000000..030012e96e5b08551378ddf978cbd5a89473ff0b GIT binary patch literal 4198 zcmb7`TTB#J7{~tuI14z6;DDf@KoJ)aw<;JbDhsSu%>ot>FSXWz9dYRH49@Hl?Y%X< zrT3;+dr9xV`9VT1%;8nx&CIudW+uC9N4c#jlSW z=450lL&)?!t)*2nqD*TM_GWhoRRY%d0eHM9MmHK)ChRT^es~{6@qxc>crjXPUzDRA9U*KG(CD9(MN zl|({});Rnn_Jsi1^V)!>XDsK%9TM#_dT~*Tjf&B-rfXNvRT-4P(SQG%-TkiE^XF^q zb6&s-Z;VVbtxYG-I$`!mxRr$|O=TZYB>O!vT4!J6Z-$sQqa{@5^+5?kyyOym*t<+_ zA)6;gTYq4mA6Z3=N;nAeZ>h_~=Lu*H`xrfcNI;pXT58%3+-L`O6VDXxkZ>G#k}-T9 zIT-dS6*8qi+kw;pLpMe!-zHy`7;Uz_FGB(+L!h3rDQFwA2y-^#Bu>#rw0KwnTY?It zWnKurf2Jhdg`|Kbu3K!LfFr>>Xnw%?X8Ibl%Ey>t!^k===gc`R!DOo}w^zyLh|yb| z!fnV4Go-6_;UxNa>4`mG+r`CPJ}cpF7DzHYv&3kN6H3ktHKOS}`90TjC=W?^m_;bI zG+peu{{8T_4vP+o20SX^F+5HUD8XCT7;9PlG>M5jf4TS9pMU!H3hNP1vEBbPB`h3^ z#n?%cFWGNow_O6yNqC+sO&FHg^M|c8cmAlt5!u>amhcLnpH_(M_ojbFV;!|~=f{mn zdqXAghJ-iy{G>4{MvpiaROeYRtfcK)?fEU|!TS@a26w%oO{uo$He}H69px-5Q2P~zhMW~=F7GxRy zvOrUO6j*-+l}9dNdA$81WEm?jqkb06hh((c17UmMGS=tRs=yj<1xhJe4fT*VRB`1R z(xHf1dUU z#Y~}!Go*M%#ytxv4wB*!DIN$=yw6whc-GbCoU8Yf;)62I*^0AxM8*@B@no(I+TMeeOAT`0lG&?_jb}f7NGm0ukNwzdK;bfR?uo+lJRPQ>IqU+ zsMU>oR2$vZ*1D@b@2l!lyDLfebs29hnAek}I7xXue1{a@lkwq#ib+yT zk)j@;_>r%ok##oWI7=Io6hD^nnXBjy*+*Ue2C`3AlOQaDNK-G(ct9eq+3T`q7vXbi bcSZODU(# Date: Fri, 11 Aug 2023 23:13:10 +0800 Subject: [PATCH 02/37] Adapted to Eclipse env --- .classpath | 15 +++++++++++++++ .gitignore | 8 -------- .project | 17 +++++++++++++++++ .settings/org.eclipse.core.resources.prefs | 2 ++ .settings/org.eclipse.jdt.core.prefs | 14 ++++++++++++++ bin/module-info.class | Bin 0 -> 233 bytes bin/resources/icon/icon-notice.txt | 1 + bin/resources/icon/icon.png | Bin 0 -> 3466 bytes .../BufferedImageCustom.class | Bin 0 -> 894 bytes .../Calculator$BiOperatorModes.class | Bin 0 -> 1429 bytes .../Calculator$MonoOperatorModes.class | Bin 0 -> 1635 bytes bin/simplejavacalculator/Calculator.class | Bin 0 -> 2838 bytes .../SimpleJavaCalculator.class | Bin 0 -> 865 bytes bin/simplejavacalculator/UI.class | Bin 0 -> 8825 bytes .../CalculatorTest.class | Bin 0 -> 4198 bytes build/built-jar.properties | 4 ++++ src/module-info.java | 11 +++++++++++ .../CalculatorTest.java | 2 +- 18 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 .classpath delete mode 100644 .gitignore create mode 100644 .project create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 bin/module-info.class create mode 100644 bin/resources/icon/icon-notice.txt create mode 100644 bin/resources/icon/icon.png create mode 100644 bin/simplejavacalculator/BufferedImageCustom.class create mode 100644 bin/simplejavacalculator/Calculator$BiOperatorModes.class create mode 100644 bin/simplejavacalculator/Calculator$MonoOperatorModes.class create mode 100644 bin/simplejavacalculator/Calculator.class create mode 100644 bin/simplejavacalculator/SimpleJavaCalculator.class create mode 100644 bin/simplejavacalculator/UI.class create mode 100644 bin/simplejavacalculatorTest/CalculatorTest.class create mode 100644 build/built-jar.properties create mode 100644 src/module-info.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..b607183 --- /dev/null +++ b/.classpath @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b0cbf6e..0000000 --- a/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -/nbproject/private/ -/build/ -/dist/ -*.class - -# Mac OS System -.DS_Store* -._* diff --git a/.project b/.project new file mode 100644 index 0000000..0f6db7b --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + SimpleJavaCalculator + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8c9943d --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/bin/module-info.class b/bin/module-info.class new file mode 100644 index 0000000000000000000000000000000000000000..ef51cbdcf6278cbccfdc198645833f6a2cf13dc7 GIT binary patch literal 233 zcmYk0%??2^5QWcNKi9vTly|VvH?WdeNUS_TQBq2qYOOt&g$M9ZqQ=H7zB4oDOfs+c z;|XAfszgEPp4~24JvEoTBXrg-g{@u~s|nSgC6DT+2+b9z1xmtbZO-26Wj5x@Zj)8f z1%Wo9_YKRPzMi7<0$oDmm@Xy?^a*1Z4wA=AZ=w!Tc_T0+wE1qMuKEs8e)3lZYPl&; VM0o9; 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 Wh5FTn{T2KnhZyM-^eT0T5&r|jn%gn} literal 0 HcmV?d00001 diff --git a/bin/simplejavacalculator/BufferedImageCustom.class b/bin/simplejavacalculator/BufferedImageCustom.class new file mode 100644 index 0000000000000000000000000000000000000000..ae8edfb465ba015f62bbe424f86aea53259aed83 GIT binary patch literal 894 zcma)4%Wl&^6g`uqb?O?@*aX6>yb2`l!x9p!01`wXMKX=lqV6Zo)Sb$)BYO<}EZ7vp zf)C)M5O*eqLg|8q$8+zTd+xc9??1kN1MnQ%7HSN=LeA!iIOgwp#FMB@xXSY2Re5+Q zaxopvcr1oxp|Y8U2E&@h1qn~%U_3b%kz!bWCR3?iFw}ef1BS*hn+h9stTO8tDn$!T z=cQUe2R82FzJ+@X9i8ALFb&Wk-H6fH!2@j242XBi@U-GRNAgFPO!(i!rk*VsHx2vW zcGf3)NS(#QIbH^9Vst!VSU(HBIETG&8u&))h3Hd27XVgKk}<%L^UP+;GLH0Py{=pJz|wuk z&6O^X(_7|l%W%1O$7vXzj4;Dhem!UD_F=AU2TcaacHE|JG2|8{DK zaK;hBFqQ4UF==Abv2Fzh9hTCW{>Kr=LoCY3GbDQ2Jn?*^so)WoX!^SA>L+!lMbppr z4r6!!$f)~;?VkDkcF}+sWKr1e0YkZ$)|p|Z@0a6kKT)uZrwq%z5lfctd4--bE>m<{ z;zA{{#Z@P8>&A1Fk9Mf5^96pBdR5IsTlWK(zLt6da(1!rg4ZaavTfUjD=OsMv%xU= zj}@W1{#ZKNimKuHFC5R`$dgz?w7~MlC>I|FU zRSZ#_1fdUv`S1M~FfDm4bcW<9QUcrz3ot6cctn5+0d7kIObT#U7GO$%>8JoR3F#}v z3$>9_wQw7wsupQuLe-=;CRI&tV@lPcZOo{rnEgcQ2auuvI9VWtDn^hMUjBvlu~TfG zS{Kb{=O)fD*Ck4H0UeSe&NAkC*R**Lu+X8e(8M@B)yAy$GL*g0ioD95(D*rW^B+Y* zUdFFzq;}!qF_y8?iIJs(c&>PoWzX^W8`$4@VLTHN3MdM@iZ#w8KEpaT>E*VBfBh#+ CqfLYW literal 0 HcmV?d00001 diff --git a/bin/simplejavacalculator/Calculator$MonoOperatorModes.class b/bin/simplejavacalculator/Calculator$MonoOperatorModes.class new file mode 100644 index 0000000000000000000000000000000000000000..ea308c4021b3a1b99eefdee2a51a5088473536a7 GIT binary patch literal 1635 zcmbW1T~pIQ6o%iWrD?+o5fuge29;K{0)ii{2x9rrma0)^GG2ueF-}M@Ntxjf_DAr_1$=yQjcU;XrDPcb{d^J1WrnvLO&h1*jmyzQa)&f8HcXFURcVm zWN7W6L?=>dXbfj1G=?<81&K66hGAGD!=N)JBkWzh3s!~a3~f(%hwF*Va=I$ zxxGCHx92*qq|=)2x^KsIz8|HwgdANwM9I^%rCjoTCsZ}^oqQs2?jILV;OHNhSs=aa zMDbz}#WQ0hngsnCx@P)WxBywwtg<9mWl5>Zl1P;$eJV@RRF+h!ED2Is(js6Cuo5YA zl4ReDW3TKY=X{8z%GA*rv%chlX zAZuC%xkky5FHeS?<76@oOqx5m^?{DmfjcznWPt&^LqF~+FTbJxN2>v2)NXFLmb-d- z7lnhs6fHn2NUFJpB6pJh6!$RQ3ZJ5{#NmAn+_D}ga$l?>pP-T$+{69R_w=S&Ml+k( wFCjx(pKs;J(Hh=M?-jW{EPRFddt4HaRL;jJD_g-bM^d~%6;DYm&y>IV3j|VgJOBUy literal 0 HcmV?d00001 diff --git a/bin/simplejavacalculator/Calculator.class b/bin/simplejavacalculator/Calculator.class new file mode 100644 index 0000000000000000000000000000000000000000..9cf9de1ccab731754d0608ac88f2b7a50bf32be6 GIT binary patch literal 2838 zcmb7FTXR!Y7+t3+NfSqpXrX|}X>wW)O>)|El5$f( z@jl)~8Jy7>XPi7EN~toVFFxtJZ~g$^e00Vc$Mx-`2@qzAFy!q0eQST0wb%am_1_-^QpW!pMlQvR*Xn0IVjhI3MR>s_)OOKh(VS{Z*Yc?4f zF&s4OTBs-X5Sr)H?6LaEv4(K8rIIcw;z=Doc%`kCI#x+J9wV6yU^UkI zu;xDg3nc4UhxHm3Cl%!*Mk>dG$yHpUMRhEKS5C)tw4zOeZ$=P9<7_t?e`pPL*r=mj zGA~M7nVc)Nbm-VDmYQ@fm9?f)=f${H$5UeTCaoDOX^Lr^j%UQ=KR0EcH645Wd;p!; z=>tg!mgO;MWKZkVo!lyc%oL5sTjD-+ldCeU&v9%gfZYgcs6CW55|e|*RFVC~_fV?g zNOYlFs8CiV{SRTod--oZ5dH~}%x85xjweWA#yl(PWbsr!8!MI4H=Q$hx$C2k6kKBN z*U^hO32;o;%$Cxz-%`*)J7a4YUARL5-v4?YsSH1cal{9{t&WABP(=nEM=?qTxNO`Z zAzK!_hKdk7B>!<8CnQjy5a^(7XGJ(Cb-aXAeDvXJ$GA8=3EPzbRGB3K{8{^;k+h7AvQ7%>l;G1kG79fn8NpA!K4E1*#6cqT`Y}l(Huz+!YU z>zW)>p$8_bhWd)D;1tTX&g;-h}aT4op?0bY6Dvuhj zA~y@$#ypy3JBy~^^&42qbu-sRQ(_J+0&Fg#H{>5gOcW7}ys5%DS$1xzaN1?((|Ihv zKk*#4i~BBikKVzapIN>K(s~y{{B0sttGQasX4lEk=BRAp5NyRhwBZ;wBFV9P79G^g zW?aKoe8u_t9k$;?)!iahJ&fmvFBGkgL?Vr3ibJHp9KL2!xwTH#R$wj?3$m=+h{W1% zlebo0OBj8s5gH<~*ev$VI}~j^T_}9Ly5(IgybBGS!^_Z(2=-tN^F^6)6Z%-v*pO`cOa>>K<2*_b5lhD8e|->o`GepTq{v?rktAoiW~ak|dhk zP2e>DUgB83ib;Hl6uyCtTbRZVaPSMV_zgMy&Uf$!&f!m7z+bqCe{i`hGR-qD1Frg+ zm6y&{S!5y9hU@FX;YjtW+WPv2dfwT`>efHOr~EchOLaVSt$PK>tA@|`{hW5uXdQdcdji%@{9ZYjL(xSZ^8!m99jVuo zVP7S0WIt2_H##x7dNR?*o;t1cgB}aCI{%$en`A?&BY_p~UFRaPZkp(5&~El@To+iK ziFdf`poF3k%PuM=Ps@~1#44&b)-F}r{W4C~&_xY(RvAxNbmfds$NmAyQc@~8Y&&S+ zmW_3R@Ns+-flUEtpwc}x9?Jn+vFtUkX71n)?%BBe59Tt9i~D#WV2=!O z$m%QJRfud7G8wR=PR^l9es_%GN7$MpaJ literal 0 HcmV?d00001 diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class new file mode 100644 index 0000000000000000000000000000000000000000..9550bf9425bb8696d3c43241551e7cf22a172fc5 GIT binary patch literal 8825 zcmb7K3wTsTmOkg+PP)?+5SsTxMFk82j36q?Lr4G#CV+&8LB_F@+(2WeJ9Kv-ppFb8 zB0k4a6d$Mzf-h9iba*T(DmtjBpy=R;4({TLF1w<$I=kcQ{-^Hk+}kAcxyxsAUR8Cg zPM!MeoQiM$wBto08qJ^j$zbZ9jMUXftp(vl;p%X-x*-})#S=v{Oa0_y$`^G}G#r~( zG_`7hRh{xvF4HMm8(y3$vKCpfRMEKVR3siNizHK4%t|oj)F#4p7E_lpY1mklTpYmw zlP8LHB+T{Um=$eho+etD^R&65p=zjyALilD_3*&tS=9i0w=1$66gQ+&@fggxFpsOLVe0x18U)awJQ8b2GPM)7A)1QRN0(q0 zkj6(AMQY$1X*6MBLl}M#bxAl@Ek0=vz5?omH9a23EW~EZOdY{bjal{xHN_ZErcx5e zcZ8{k#B63p7>t6Zu|B@oO2liOmeKe;CO`Cva0)Y!KH(~KmTweCV&MeZ<$#Z(yH8?) z>GZNTqobrHP~Z<)BRn%J9Bsg;oo%<-F;kIBVCT`sR~wIEH669biX?I-LIFcSHbZ!P zI#L&&hY_+jrc{)r)!Oszbc^X$sv&_X7PdXN;)dEjwKDrRJ=|$ZB!%{NsYng z77U!l6r9jlZPiQECjE3FX00PS5-%#9+G4@1OX4+FkW3n-=sY^#Pw4MC5%%f=G?t0a z2~aV}&;X4G85W?4Am;{X63FlXO$IqHKxH832WSe&1p%4{G9p0JK`zWArWuL`(-1#l zexcR}CqS1YJY3KBoi-^*Gii=Y?Fs~Af$dv;Rvo_&oF&8lN|B!ee)=_2L7ThThR1?* zC5@8KRf^7~;eL{E_s*$hTcl;JG(v2J3I@6xtXqr>QZ+?niVNUmXNt1@w$+|sRMAix z<|piF_PRA91gXxR%0fkX6!a4!Hft)y@y4?7l6XTZNC|3?Z!Kc#;rUhx!YdpBGL0-9 zI7^0WRJ4SaBJh(|%I?b4+tb0;m4{;py~N0Yv;1^zCPZ}TM&pY!U%ZA!$%xm>XP1h@ zeygY*1%ukm>fY zqR!Ms26$A_IWoW>96z*Rda*wH(&RBkU8!4;M$;xmkJA%?nneN$Q)?wSOP$E@hG&r0 z)0_Z3jrboVBRr$1JM{?Ab5INs#a2ZLrS8P!x$`hoau1_$Mevi{eE^ zeMIpxPH%EyA|<+46rC!%*Kqn93mZlCx}wuW^+%|N7HQR+iu#J`ZK!~$(&`;Wr;F-6 zsDQ4bI-uwbQGEava8^_wDmqhCe_}GCTJy1@fui{YjT*09B8@&()K64@!R`Tvhn`c= zI8gMTE9x)$e?jNQ{-XIp(E!nW3D5#OJMF$wbe3rU4GS%iX8*3}6j6MGZvebS^{t`; z>fxuqGM(1uL3hC;NZ;9q>IX%IG)Ryc2V_b^U6qxX5w3~?hC^j>+yS$~iHOLK(wCYa z!TIaiHuTOc1=4Z^Kc$Ghf@XrmFxj5Q|x{A#vu%>8pq=1;EZ^pW+-wX3zSFH_WT`!WU%?#Pt`xWD z4uAyM$6K{wT*oERc+#3$Z{Z@uhY%`=PmEQ~`HDLUk_F~jDGgEbfzFD%2!6>2=_fp(jrq~W6OsI+A+Kpn_>$zKyPvyRTJ`Ee-MOQ$Y z;?wyIIHVdmNy?fOPehgqj70(MlAUyKIZ@dz0T^*V#r=5z;vy_rN}*>;9@n`*?J8wT z1&Rl9AyX%GJ~^*D!!uM{nV+*E{lsZQ6rU|i4r0l(BFTu3sg7ZtDNeHzweduqh1s3< z4~Co|iKUFk!+5x#&t>Y>f`i^q>voFIDrjSa;}0*xn+}Pd2CiTFh1UZH7YLV5^QvR zIFYn$mB3#cck_4|Wdfj*kt%d881Ds0yW_|_p2U;=a+r#K;XL;%j@aQGPn08PNlFA< z$~3g?bL!&2$^GCW=5obTcq-rrp;sgMe6};4$pJ$6GR4!m0?P$b=*qz=#_6A3@c;g- z$3M>SZMZ|`HdFB|o{hOJPDD~Nw=Cag`r^>7XYIZ@imwn);U!Jg(*Weg-@Y{iW?FkH_LCZAgRxA-PGN+cTZ}i!N$4 z1oq}Tjw-HWAXfVpk4rnI%3t<*>jD2yUYAwZD_$tm58Bh0(nQn;#>GurVcF*ajL2T-b0rOjMgibF>Y6UhXj01!U9@JnEg)iT?9yJug`HR zZkI;_5qB%TM=Z!41vthC4k`8)> zJoB{cZde1=^R4QuF}mE%?&qAP`T1eo3a;9Qs^W%76h}D7>yW4Ndfwn?q;MVFW@Yi% zJjIXkMyyD$RTL+ks!TO8Sw?tV@e}+c#>hCuwn~@D-ZR?*mFxIv#hdvVEH7MNZ^Z!m zL%ds)8QrraTjk7sBqq<#Dc&N$97x4&qin_VieC^YmqbF)I*-%5&CktQuw1bOuM%~N zxAP9fqm>ZIus?-rZyL(e6b7`ybt40eB(l$hL?WK(yLf&iYW3Cr=$nf7t=*9eoTnNZYv!b^R7dg9* zCB-Bl%w!4+^M-}fN5U{fZCp`%-=ZO;Jy2ifT$z)KZ$FlF}4)l%}X;G)0l3DM}4Z zQDJC`!a`Hj6Pluo&=gs=rYIpaMctq&iUmzkA!v%SKvUELnj+oT6zRRDNa{638m}o* zbxlzzXo@skQ#=7^ih@m3)Lo#4l*pQ*90$#XpYS9B{RNPGkVeo&MCNQ*3^bot*i0h} z^Mku+bfp=(xT4Y*8dp)76Dp~w%nePbsPu;}si+KuN-HY!b3>Qnw?9;l-+|Cn{LTwq zR?$Qig*$0xWoULYRW{LF2v=4%(^X9r23uWO_yUE~WHrm%BU>zinUIcgJi$Fer`-bw2#dvBwS&Gcl&3g+JV z!AE~ShJNcSLr+21M4N5lSuJd_h3B=F#rIK| zAEPSXii+(eJWah#79XNo{sN`jcQhaIA2Hg~0;3mQZJb3>V>s0r<0xiKp}27cEi`H= zN&kg8ce9TQ{Wtxch-aXn{*nF%N9iZnI*{=*K5qDt4G^9|n104_V>x6w?_kaNh|iB` znA?e8!GCEKS`cspnL^DpYh!Mj+lh>ytJB;u%^`5>@bgHTy9$ejJteR@L)g%J7=GWI z=02IAIu3cWqXXIEvP~|#-DP*V>~5FcKhu~#_!N*O!9WpG<;8Qm81G9O#%9bIg@Jfj@< zjK0$0SLM%jm%2(mWoE__=}@LwCpzG^6R)mvEUUrq@$kDn{9X@#*x{w`YKOlS{5}uA z-@_mDw7=EiZ%6wh9{#9@Kjz_2IJ|u8cH!j=82jCm1Hj4sui$j|ny4|6B z9J(e|)B6+Sa&4XJ&Pyhr>j8nw=yK37EvG2mfR-!3-AK35O1h73qCe0o zfa%S&omSIpfXsL4R{9v$qjWocLw5kG?&MrN40octxDQ@~&!T&HIIZEabT5}7E1rW_ z-ud(ZFQNze2E4P~LF@PddYCuSquhkD_*FdO9-s~U89l~d(?{FAV+}PK>#5mzhPD|yXuI(`?Jy3|PUBPB zWqd_18sF1Pra>>89q1La7rkl@px4Y{w8tDnubY$UkLFa`YgU3*(Oc#MdfQCUK65F( zV=kw6&DHdtc^BU{yufMy%iX%b$LHK?0qfO{9-+mY`_x|BQq-S|!c;fwej8{5t2 zaD(L_fhrr6=Aq?0#XR4)iTV!4UT^5?8@7=$0A2wp%@=H0;p478NdP`W6M))9+jz`2 z9zSIhh&uE*hKp_@0-nT4R=Z{V zWLx&RmWFK0e%I2NZ8_*#uF19>aV@{ewj6RTzsF3pvUoNK78bQ~C}z@pp_|{FTB_ zpR@c$pdI}UkL*G2$RW<>e%zS{a~B@N-SE`doiFE}d=>ZN1oy$K%qe(0IgRh;zIXyS z16BH&C~f@~>NT1HPMo^ERsJ)*|KZ?$t z#?Sau5Dqc>8GjfQov>@T-C6k8)BV>i)DHg-1DLThG(Vf>t()l7vaQ@CZ94PLX5NMK{$j@ZlI$3vAnn((V8rpGaW@@xlPC>FsU& z-dcUNuItPn=!JKZFWaUMp=i0j0FXdFE=S!zg}PwE-FX_;I^DC*0hyhp0nQ9$o$z^g dnbRRz1LEe-pdoOR@V55J*q&SqdU$Nl{{>6&X}$me literal 0 HcmV?d00001 diff --git a/bin/simplejavacalculatorTest/CalculatorTest.class b/bin/simplejavacalculatorTest/CalculatorTest.class new file mode 100644 index 0000000000000000000000000000000000000000..030012e96e5b08551378ddf978cbd5a89473ff0b GIT binary patch literal 4198 zcmb7`TTB#J7{~tuI14z6;DDf@KoJ)aw<;JbDhsSu%>ot>FSXWz9dYRH49@Hl?Y%X< zrT3;+dr9xV`9VT1%;8nx&CIudW+uC9N4c#jlSW z=450lL&)?!t)*2nqD*TM_GWhoRRY%d0eHM9MmHK)ChRT^es~{6@qxc>crjXPUzDRA9U*KG(CD9(MN zl|({});Rnn_Jsi1^V)!>XDsK%9TM#_dT~*Tjf&B-rfXNvRT-4P(SQG%-TkiE^XF^q zb6&s-Z;VVbtxYG-I$`!mxRr$|O=TZYB>O!vT4!J6Z-$sQqa{@5^+5?kyyOym*t<+_ zA)6;gTYq4mA6Z3=N;nAeZ>h_~=Lu*H`xrfcNI;pXT58%3+-L`O6VDXxkZ>G#k}-T9 zIT-dS6*8qi+kw;pLpMe!-zHy`7;Uz_FGB(+L!h3rDQFwA2y-^#Bu>#rw0KwnTY?It zWnKurf2Jhdg`|Kbu3K!LfFr>>Xnw%?X8Ibl%Ey>t!^k===gc`R!DOo}w^zyLh|yb| z!fnV4Go-6_;UxNa>4`mG+r`CPJ}cpF7DzHYv&3kN6H3ktHKOS}`90TjC=W?^m_;bI zG+peu{{8T_4vP+o20SX^F+5HUD8XCT7;9PlG>M5jf4TS9pMU!H3hNP1vEBbPB`h3^ z#n?%cFWGNow_O6yNqC+sO&FHg^M|c8cmAlt5!u>amhcLnpH_(M_ojbFV;!|~=f{mn zdqXAghJ-iy{G>4{MvpiaROeYRtfcK)?fEU|!TS@a26w%oO{uo$He}H69px-5Q2P~zhMW~=F7GxRy zvOrUO6j*-+l}9dNdA$81WEm?jqkb06hh((c17UmMGS=tRs=yj<1xhJe4fT*VRB`1R z(xHf1dUU z#Y~}!Go*M%#ytxv4wB*!DIN$=yw6whc-GbCoU8Yf;)62I*^0AxM8*@B@no(I+TMeeOAT`0lG&?_jb}f7NGm0ukNwzdK;bfR?uo+lJRPQ>IqU+ zsMU>oR2$vZ*1D@b@2l!lyDLfebs29hnAek}I7xXue1{a@lkwq#ib+yT zk)j@;_>r%ok##oWI7=Io6hD^nnXBjy*+*Ue2C`3AlOQaDNK-G(ct9eq+3T`q7vXbi bcSZODU(# Date: Thu, 17 Aug 2023 12:17:21 +0800 Subject: [PATCH 03/37] # commit --- .project | 11 +++++++++++ bin/.gitignore | 4 ++++ src/simplejavacalculator/UI.java | 4 +++- 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 bin/.gitignore diff --git a/.project b/.project index 0f6db7b..9b9f376 100644 --- a/.project +++ b/.project @@ -14,4 +14,15 @@ org.eclipse.jdt.core.javanature + + + 1692244280313 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..f731514 --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1,4 @@ +/module-info.class +/resources/ +/simplejavacalculator/ +/simplejavacalculatorTest/ diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index 087bfb1..1e85f7f 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -33,6 +33,8 @@ import java.awt.Image; import javax.swing.ImageIcon; import java.io.*; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; public class UI implements ActionListener { @@ -64,7 +66,7 @@ public class UI implements ActionListener { private ImageIcon image; private BufferedImageCustom imageReturn; - public UI() throws IOException { + public UI()implements ActionListener, KeyListener throws IOException { frame = new JFrame("Calculator PH"); imageReturn = new BufferedImageCustom(); From 509c5f7a720495e74426bcfec2f39661cff5bab6 Mon Sep 17 00:00:00 2001 From: ang yont jie Date: Sun, 20 Aug 2023 15:37:37 +0800 Subject: [PATCH 04/37] implementing factorial feature --- bin/.gitignore | 1 + .../Calculator$MonoOperatorModes.class | Bin 1635 -> 1689 bytes bin/simplejavacalculator/Calculator.class | Bin 2838 -> 2977 bytes bin/simplejavacalculator/UI.class | Bin 8825 -> 8982 bytes src/simplejavacalculator/Calculator.java | 9 ++++++++- src/simplejavacalculator/UI.java | 12 ++++++++++-- 6 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 bin/.gitignore diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..d633f06 --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1 @@ +/simplejavacalculator/ diff --git a/bin/simplejavacalculator/Calculator$MonoOperatorModes.class b/bin/simplejavacalculator/Calculator$MonoOperatorModes.class index ea308c4021b3a1b99eefdee2a51a5088473536a7..a2faf44cfe4358a4eb5d04a177bb16fda1e66575 100644 GIT binary patch delta 795 zcmZ|N&rcIU6bJC{bhrDfQy7XOv{*zCa0?bhs|YG8{;Vjv{>UC1qeg?8C^7NWi$^cb za`9jAq|2eiAH=i&hTgqt|-(+nL$-UBAr--+q7G0dNv`Tfv*af6%zM z@$C7d#(Hb>oinI0gkrLyCYr+4b)X!{bXDeJCV9RYeUZrA)oNf(tIrE11WP zmyPOrPepJ4HE)vnfWS*hw)S#cqnp zDE3l>QEX^vh60VvQlP?b|ar$4PLkrMN((>QMGG8!t#~GaMrq`&YIDMd*Vll2;;ZD57M_IK>+c-D< zo~Anc=#*1`_u$j3ywWWa(i(nPP*CAE>R+M$pJ(Hm)Vz*0i8pYQGtsB0M1a`^xN delta 735 zcmZXSyKfUg5XQgto$uv!au`Uk^B@o~`(QPEge zQP5CP!lg*WBci6^kKivr^oW_Ufr2~fW`EzzH=4cOSHsJZ7&OBP4b4zwIHgf! z7-2ZAF~Ts)u%s~xk5}FqjTn2HWtV zS8z3bo$GryHLl@S+H^jtPWr=HQ-!qUc6xDzThT^c8oY$P)P5h)Phx()eT1^5{mwSV zwonn6bOoja4(0`B1P*%wvjRtbfvUjqKwwUw77yy`L_J$N84oHOlAMnRr3*sMI27Yz z9DSxioD3CX-3(L4<}=I~>t&cV*3VEiHpnn%Y)n#}0%;8jBrZ@0Gc1}dEWf8c<#3k1 z5k;U^!3&gePGnBe5f6XCJREufKdDV_yEL*0g9g>W32 zz#vi*WOJ-wQD{jfl1$GC3^838`Akxu(9@Z8$0Qd<1avO=Q-;X~S%DlI1TCXmOY2(R zMf1!`?PtNLz?dsA^*jqq&Qn|&7nmqEDF-{JX;X%73Cy_UoH5Mg+X8d!u29~7ghlfL z3(WB4T(?CQxNi3a9u$|9y2DEXk6jOK(CwwjId@3^raNPf=jfhNl9o=Z^W8_q^4q=| z$fy9M*48bYcW@xmB_C5>K_qIGg>2WHB2hf_9{W}|{{Bpqka$D9J_k|8cx64T-$9u3 z5(YdZ?Vu{ckl_Kt4%9N`N(on8(B6XaKU(mpmV+})4X><~kBZ@%8D3dOWtbUUieb`4 z>dOh2*AR+fYKKq)9dpw&w0GN^^^iM^w7MPN^`LtW+=gR#xYP5aUEPynd#Ki)Mx5sF z0s`no5PgW?B5El%qaQ6aXl)q437V|aNZ~9p^ln3hj?hnnt0$WlsBQ;=FYR0^cdOH3n6n-%@ppi1(by7Q$yX&IY z^igYZJjFBkAxN=|6;gB%wE@vTi1?+---y(x(O7J++*GBi)haPpsqVuX)+tugE=rEi TPc_mNB)p*blJEeVN73^S3-HYN delta 804 zcmYk4%TE(g6o@0Of-ZvCK_A_l86sv+76{qJN5x0C?nzn zjqfTACN4}&*NO?LE?l|Ny*vK^cP`wS7|)#!#FU7A-#NK+-?S}lj(+|7=`(PY zN)rK%j&e-zc)x$EzOk{GpR@|L#=$;e-Q`6+?1t*B-*HMIjxcO+i4hIGm@kxM*&XkS zH#11WAjy!1;pFUiW-61iQ@z(z!ZsLHiD1$xDuXeDj5260IsH~DW92+Lp;RMEf7u}C z>5G}1=v%m=fR`#56w8MicDb{%siPYPbDlcuq?P+kgL&oNAaVBr<+osPTPXrrWyf7r z;JGat+*b*`V3q8~o*_9Ac~r?GgU6n!mGFjps$ww>4LFm9q<#Fu?}qW9tF59F1TDB{ zg)>#6dso?^zKI%L?}VMJ5>auDi$1Zcgj*DHe2}UVt4q=~#(kLmAFe6$RZb~oq_SM^ z0JcPF#^jxoJFvh6ugUTj zhZXXCq`((Sd}EUDT;&JT{A7k-%<>19HtEt?KXA5qJ>}>*aa!7H>MwATMgsJTtc9={ qi<;(ky)zt(wZ^3Cncx7=Da+a_yQmbs=xLX~t?^RUCE=<(%HThuc(gkJ diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index 9550bf9425bb8696d3c43241551e7cf22a172fc5..3341e2ae94bbe2ce35e82a4a2e8a8a67dbf1e6d6 100644 GIT binary patch literal 8982 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 BjzRzc literal 8825 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 diff --git a/src/simplejavacalculator/Calculator.java b/src/simplejavacalculator/Calculator.java index f76e879..a8cf18d 100644 --- a/src/simplejavacalculator/Calculator.java +++ b/src/simplejavacalculator/Calculator.java @@ -23,7 +23,7 @@ public enum BiOperatorModes { } public enum MonoOperatorModes { - square, squareRoot, oneDividedBy, cos, sin, tan, log, rate, abs, ln, + square,factorial, squareRoot, oneDividedBy, cos, sin, tan, log, rate, abs, ln, } private Double num1, num2; @@ -85,6 +85,13 @@ public Double reset() { public Double calculateMono(MonoOperatorModes newMode, Double num) { + if (newMode == MonoOperatorModes.factorial) { + double facResult = 1; + for(int i=1;i<=num;i++){ + facResult=facResult*i; + } + return facResult; + } if (newMode == MonoOperatorModes.square) { return num * num; } diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index 087bfb1..a9e6586 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -51,7 +51,7 @@ public class UI implements ActionListener { private final JTextArea text; private final JButton but[], butAdd, butMinus, butMultiply, butDivide, - butEqual, butCancel, butSquareRoot, butSquare, butOneDividedBy, + butEqual, butCancel, butSquareRoot, butSquare, butOneDividedBy,butFactorial, butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary, butln; private final Calculator calc; @@ -96,7 +96,8 @@ public UI() throws IOException { butMultiply = new JButton("*"); butDivide = new JButton("/"); butEqual = new JButton("="); - butSquareRoot = new JButton("sqrt"); + butSquareRoot = new JButton("sqrt"); + butFactorial = new JButton("!"); butSquare = new JButton("x*x"); butOneDividedBy = new JButton("1/x"); butCos = new JButton("Cos"); @@ -134,6 +135,7 @@ public void init() { butEqual.setFont(font); butSquareRoot.setFont(font); butSquare.setFont(font); + butFactorial.setFont(font); butOneDividedBy.setFont(font); butCos.setFont(font); butSin.setFont(font); @@ -181,6 +183,7 @@ public void init() { panel.add(panelSub5); panelSub6.add(butSquare); + panelSub6.add(butFactorial); panelSub6.add(butSquareRoot); panelSub6.add(butOneDividedBy); panelSub6.add(butxpowerofy); @@ -204,6 +207,7 @@ public void init() { butMinus.addActionListener(this); butMultiply.addActionListener(this); butDivide.addActionListener(this); + butFactorial.addActionListener(this); butSquare.addActionListener(this); butSquareRoot.addActionListener(this); butOneDividedBy.addActionListener(this); @@ -268,6 +272,10 @@ public void actionPerformed(ActionEvent e) { writer(calc.calculateBi(Calculator.BiOperatorModes.xpowerofy, reader())); } + if (source == butFactorial) { + writer(calc.calculateMono(Calculator.MonoOperatorModes.factorial, reader())); + } + if (source == butSquare) { writer(calc.calculateMono(Calculator.MonoOperatorModes.square, reader())); } From dae8fe0c6501b351414347635facf14851013c5b Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Sun, 20 Aug 2023 16:22:37 +0800 Subject: [PATCH 05/37] Revert "Adapted to Eclipse" commit This reverts commit d269cbc1cc5db24b3b905667bba5a4452436318c. --- .project | 11 ----------- bin/.gitignore | 4 ---- src/simplejavacalculator/UI.java | 4 +--- 3 files changed, 1 insertion(+), 18 deletions(-) delete mode 100644 bin/.gitignore diff --git a/.project b/.project index 9b9f376..0f6db7b 100644 --- a/.project +++ b/.project @@ -14,15 +14,4 @@ org.eclipse.jdt.core.javanature - - - 1692244280313 - - 30 - - org.eclipse.core.resources.regexFilterMatcher - node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ - - - diff --git a/bin/.gitignore b/bin/.gitignore deleted file mode 100644 index f731514..0000000 --- a/bin/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/module-info.class -/resources/ -/simplejavacalculator/ -/simplejavacalculatorTest/ diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index 1e85f7f..087bfb1 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -33,8 +33,6 @@ import java.awt.Image; import javax.swing.ImageIcon; import java.io.*; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; public class UI implements ActionListener { @@ -66,7 +64,7 @@ public class UI implements ActionListener { private ImageIcon image; private BufferedImageCustom imageReturn; - public UI()implements ActionListener, KeyListener throws IOException { + public UI() throws IOException { frame = new JFrame("Calculator PH"); imageReturn = new BufferedImageCustom(); From 59075b9172cdc710f49323f76b121aafaf8f1e76 Mon Sep 17 00:00:00 2001 From: ang yong jie Date: Sun, 20 Aug 2023 19:52:36 +0800 Subject: [PATCH 06/37] test --- .../Calculator$MonoOperatorModes.class | Bin 1689 -> 1635 bytes bin/simplejavacalculator/Calculator.class | Bin 2977 -> 2838 bytes bin/simplejavacalculator/UI.class | Bin 8982 -> 8825 bytes src/simplejavacalculator/Calculator.java | 9 +-------- src/simplejavacalculator/UI.java | 12 ++---------- 5 files changed, 3 insertions(+), 18 deletions(-) diff --git a/bin/simplejavacalculator/Calculator$MonoOperatorModes.class b/bin/simplejavacalculator/Calculator$MonoOperatorModes.class index a2faf44cfe4358a4eb5d04a177bb16fda1e66575..ea308c4021b3a1b99eefdee2a51a5088473536a7 100644 GIT binary patch delta 735 zcmZXSyKfUg5XQgto$uv!au`Uk^B@o~`(QPEge zQP5CP!lg*WBci6^kKivr^oW_Ufr2~fW`EzzH=4cOSHsJZ7&OBP4b4zwIHgf! z7-2ZAF~Ts)u%s~xk5}FqjTn2HWtV zS8z3bo$GryHLl@S+H^jtPWr=HQ-!qUc6xDzThT^c8oY$P)P5h)Phx()eT1^5{mwSV zwonn6bOoja4(0`B1P*%wvjRtbfvUjqKwwUw77yy`L_J$N84oHOlAMnRr3*sMI27Yz z9DSxioD3CX-3(L4<}=I~>t&cV*3VEiHpnn%Y)n#}0%;8jBrZ@0Gc1}dEWf8c<#3k1 z5k;U^!3&gePGnBe5f6XCJREufKdDV_UC1qeg?8C^7NWi$^cb za`9jAq|2eiAH=i&hTgqt|-(+nL$-UBAr--+q7G0dNv`Tfv*af6%zM z@$C7d#(Hb>oinI0gkrLyCYr+4b)X!{bXDeJCV9RYeUZrA)oNf(tIrE11WP zmyPOrPepJ4HE)vnfWS*hw)S#cqnp zDE3l>QEX^vh60VvQlP?b|ar$4PLkrMN((>QMGG8!t#~GaMrq`&YIDMd*Vll2;;ZD57M_IK>+c-D< zo~Anc=#*1`_u$j3ywWWa(i(nPP*CAE>R+M$pJ(Hm)Vz*0i8pYQGtsB0M1a`^xN diff --git a/bin/simplejavacalculator/Calculator.class b/bin/simplejavacalculator/Calculator.class index 767b99c63a5d46e9c1a9dde12aa513f6b3a4d9ee..9cf9de1ccab731754d0608ac88f2b7a50bf32be6 100644 GIT binary patch delta 804 zcmYk4%TE(g6o@0Of-ZvCK_A_l86sv+76{qJN5x0C?nzn zjqfTACN4}&*NO?LE?l|Ny*vK^cP`wS7|)#!#FU7A-#NK+-?S}lj(+|7=`(PY zN)rK%j&e-zc)x$EzOk{GpR@|L#=$;e-Q`6+?1t*B-*HMIjxcO+i4hIGm@kxM*&XkS zH#11WAjy!1;pFUiW-61iQ@z(z!ZsLHiD1$xDuXeDj5260IsH~DW92+Lp;RMEf7u}C z>5G}1=v%m=fR`#56w8MicDb{%siPYPbDlcuq?P+kgL&oNAaVBr<+osPTPXrrWyf7r z;JGat+*b*`V3q8~o*_9Ac~r?GgU6n!mGFjps$ww>4LFm9q<#Fu?}qW9tF59F1TDB{ zg)>#6dso?^zKI%L?}VMJ5>auDi$1Zcgj*DHe2}UVt4q=~#(kLmAFe6$RZb~oq_SM^ z0JcPF#^jxoJFvh6ugUTj zhZXXCq`((Sd}EUDT;&JT{A7k-%<>19HtEt?KXA5qJ>}>*aa!7H>MwATMgsJTtc9={ qi<;(ky)zt(wZ^3Cncx7=Da+a_yQmbs=xLX~t?^RUCE=<(%HThuc(gkJ delta 909 zcmYjPO-~b16g|_yEL*0g9g>W32 zz#vi*WOJ-wQD{jfl1$GC3^838`Akxu(9@Z8$0Qd<1avO=Q-;X~S%DlI1TCXmOY2(R zMf1!`?PtNLz?dsA^*jqq&Qn|&7nmqEDF-{JX;X%73Cy_UoH5Mg+X8d!u29~7ghlfL z3(WB4T(?CQxNi3a9u$|9y2DEXk6jOK(CwwjId@3^raNPf=jfhNl9o=Z^W8_q^4q=| z$fy9M*48bYcW@xmB_C5>K_qIGg>2WHB2hf_9{W}|{{Bpqka$D9J_k|8cx64T-$9u3 z5(YdZ?Vu{ckl_Kt4%9N`N(on8(B6XaKU(mpmV+})4X><~kBZ@%8D3dOWtbUUieb`4 z>dOh2*AR+fYKKq)9dpw&w0GN^^^iM^w7MPN^`LtW+=gR#xYP5aUEPynd#Ki)Mx5sF z0s`no5PgW?B5El%qaQ6aXl)q437V|aNZ~9p^ln3hj?hnnt0$WlsBQ;=FYR0^cdOH3n6n-%@ppi1(by7Q$yX&IY z^igYZJjFBkAxN=|6;gB%wE@vTi1?+---y(x(O7J++*GBi)haPpsqVuX)+tugE=rEi TPc_mNB)p*blJEeVN73^S3-HYN diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index 3341e2ae94bbe2ce35e82a4a2e8a8a67dbf1e6d6..9550bf9425bb8696d3c43241551e7cf22a172fc5 100644 GIT binary patch literal 8825 zcmb7K3wTsTmOkg+PP)?+5SsTxMFk82j36q?Lr4G#CV+&8LB_F@+(2WeJ9Kv-ppFb8 zB0k4a6d$Mzf-h9iba*T(DmtjBpy=R;4({TLF1w<$I=kcQ{-^Hk+}kAcxyxsAUR8Cg zPM!MeoQiM$wBto08qJ^j$zbZ9jMUXftp(vl;p%X-x*-})#S=v{Oa0_y$`^G}G#r~( zG_`7hRh{xvF4HMm8(y3$vKCpfRMEKVR3siNizHK4%t|oj)F#4p7E_lpY1mklTpYmw zlP8LHB+T{Um=$eho+etD^R&65p=zjyALilD_3*&tS=9i0w=1$66gQ+&@fggxFpsOLVe0x18U)awJQ8b2GPM)7A)1QRN0(q0 zkj6(AMQY$1X*6MBLl}M#bxAl@Ek0=vz5?omH9a23EW~EZOdY{bjal{xHN_ZErcx5e zcZ8{k#B63p7>t6Zu|B@oO2liOmeKe;CO`Cva0)Y!KH(~KmTweCV&MeZ<$#Z(yH8?) z>GZNTqobrHP~Z<)BRn%J9Bsg;oo%<-F;kIBVCT`sR~wIEH669biX?I-LIFcSHbZ!P zI#L&&hY_+jrc{)r)!Oszbc^X$sv&_X7PdXN;)dEjwKDrRJ=|$ZB!%{NsYng z77U!l6r9jlZPiQECjE3FX00PS5-%#9+G4@1OX4+FkW3n-=sY^#Pw4MC5%%f=G?t0a z2~aV}&;X4G85W?4Am;{X63FlXO$IqHKxH832WSe&1p%4{G9p0JK`zWArWuL`(-1#l zexcR}CqS1YJY3KBoi-^*Gii=Y?Fs~Af$dv;Rvo_&oF&8lN|B!ee)=_2L7ThThR1?* zC5@8KRf^7~;eL{E_s*$hTcl;JG(v2J3I@6xtXqr>QZ+?niVNUmXNt1@w$+|sRMAix z<|piF_PRA91gXxR%0fkX6!a4!Hft)y@y4?7l6XTZNC|3?Z!Kc#;rUhx!YdpBGL0-9 zI7^0WRJ4SaBJh(|%I?b4+tb0;m4{;py~N0Yv;1^zCPZ}TM&pY!U%ZA!$%xm>XP1h@ zeygY*1%ukm>fY zqR!Ms26$A_IWoW>96z*Rda*wH(&RBkU8!4;M$;xmkJA%?nneN$Q)?wSOP$E@hG&r0 z)0_Z3jrboVBRr$1JM{?Ab5INs#a2ZLrS8P!x$`hoau1_$Mevi{eE^ zeMIpxPH%EyA|<+46rC!%*Kqn93mZlCx}wuW^+%|N7HQR+iu#J`ZK!~$(&`;Wr;F-6 zsDQ4bI-uwbQGEava8^_wDmqhCe_}GCTJy1@fui{YjT*09B8@&()K64@!R`Tvhn`c= zI8gMTE9x)$e?jNQ{-XIp(E!nW3D5#OJMF$wbe3rU4GS%iX8*3}6j6MGZvebS^{t`; z>fxuqGM(1uL3hC;NZ;9q>IX%IG)Ryc2V_b^U6qxX5w3~?hC^j>+yS$~iHOLK(wCYa z!TIaiHuTOc1=4Z^Kc$Ghf@XrmFxj5Q|x{A#vu%>8pq=1;EZ^pW+-wX3zSFH_WT`!WU%?#Pt`xWD z4uAyM$6K{wT*oERc+#3$Z{Z@uhY%`=PmEQ~`HDLUk_F~jDGgEbfzFD%2!6>2=_fp(jrq~W6OsI+A+Kpn_>$zKyPvyRTJ`Ee-MOQ$Y z;?wyIIHVdmNy?fOPehgqj70(MlAUyKIZ@dz0T^*V#r=5z;vy_rN}*>;9@n`*?J8wT z1&Rl9AyX%GJ~^*D!!uM{nV+*E{lsZQ6rU|i4r0l(BFTu3sg7ZtDNeHzweduqh1s3< z4~Co|iKUFk!+5x#&t>Y>f`i^q>voFIDrjSa;}0*xn+}Pd2CiTFh1UZH7YLV5^QvR zIFYn$mB3#cck_4|Wdfj*kt%d881Ds0yW_|_p2U;=a+r#K;XL;%j@aQGPn08PNlFA< z$~3g?bL!&2$^GCW=5obTcq-rrp;sgMe6};4$pJ$6GR4!m0?P$b=*qz=#_6A3@c;g- z$3M>SZMZ|`HdFB|o{hOJPDD~Nw=Cag`r^>7XYIZ@imwn);U!Jg(*Weg-@Y{iW?FkH_LCZAgRxA-PGN+cTZ}i!N$4 z1oq}Tjw-HWAXfVpk4rnI%3t<*>jD2yUYAwZD_$tm58Bh0(nQn;#>GurVcF*ajL2T-b0rOjMgibF>Y6UhXj01!U9@JnEg)iT?9yJug`HR zZkI;_5qB%TM=Z!41vthC4k`8)> zJoB{cZde1=^R4QuF}mE%?&qAP`T1eo3a;9Qs^W%76h}D7>yW4Ndfwn?q;MVFW@Yi% zJjIXkMyyD$RTL+ks!TO8Sw?tV@e}+c#>hCuwn~@D-ZR?*mFxIv#hdvVEH7MNZ^Z!m zL%ds)8QrraTjk7sBqq<#Dc&N$97x4&qin_VieC^YmqbF)I*-%5&CktQuw1bOuM%~N zxAP9fqm>ZIus?-rZyL(e6b7`ybt40eB(l$hL?WK(yLf&iYW3Cr=$nf7t=*9eoTnNZYv!b^R7dg9* zCB-Bl%w!4+^M-}fN5U{fZCp`%-=ZO;Jy2ifT$z)KZ$FlF}4)l%}X;G)0l3DM}4Z zQDJC`!a`Hj6Pluo&=gs=rYIpaMctq&iUmzkA!v%SKvUELnj+oT6zRRDNa{638m}o* zbxlzzXo@skQ#=7^ih@m3)Lo#4l*pQ*90$#XpYS9B{RNPGkVeo&MCNQ*3^bot*i0h} z^Mku+bfp=(xT4Y*8dp)76Dp~w%nePbsPu;}si+KuN-HY!b3>Qnw?9;l-+|Cn{LTwq zR?$Qig*$0xWoULYRW{LF2v=4%(^X9r23uWO_yUE~WHrm%BU>zinUIcgJi$Fer`-bw2#dvBwS&Gcl&3g+JV z!AE~ShJNcSLr+21M4N5lSuJd_h3B=F#rIK| zAEPSXii+(eJWah#79XNo{sN`jcQhaIA2Hg~0;3mQZJb3>V>s0r<0xiKp}27cEi`H= zN&kg8ce9TQ{Wtxch-aXn{*nF%N9iZnI*{=*K5qDt4G^9|n104_V>x6w?_kaNh|iB` znA?e8!GCEKS`cspnL^DpYh!Mj+lh>ytJB;u%^`5>@bgHTy9$ejJteR@L)g%J7=GWI z=02IAIu3cWqXXIEvP~|#-DP*V>~5FcKhu~#_!N*O!9WpG<;8Qm81G9O#%9bIg@Jfj@< zjK0$0SLM%jm%2(mWoE__=}@LwCpzG^6R)mvEUUrq@$kDn{9X@#*x{w`YKOlS{5}uA z-@_mDw7=EiZ%6wh9{#9@Kjz_2IJ|u8cH!j=82jCm1Hj4sui$j|ny4|6B z9J(e|)B6+Sa&4XJ&Pyhr>j8nw=yK37EvG2mfR-!3-AK35O1h73qCe0o zfa%S&omSIpfXsL4R{9v$qjWocLw5kG?&MrN40octxDQ@~&!T&HIIZEabT5}7E1rW_ z-ud(ZFQNze2E4P~LF@PddYCuSquhkD_*FdO9-s~U89l~d(?{FAV+}PK>#5mzhPD|yXuI(`?Jy3|PUBPB zWqd_18sF1Pra>>89q1La7rkl@px4Y{w8tDnubY$UkLFa`YgU3*(Oc#MdfQCUK65F( zV=kw6&DHdtc^BU{yufMy%iX%b$LHK?0qfO{9-+mY`_x|BQq-S|!c;fwej8{5t2 zaD(L_fhrr6=Aq?0#XR4)iTV!4UT^5?8@7=$0A2wp%@=H0;p478NdP`W6M))9+jz`2 z9zSIhh&uE*hKp_@0-nT4R=Z{V zWLx&RmWFK0e%I2NZ8_*#uF19>aV@{ewj6RTzsF3pvUoNK78bQ~C}z@pp_|{FTB_ zpR@c$pdI}UkL*G2$RW<>e%zS{a~B@N-SE`doiFE}d=>ZN1oy$K%qe(0IgRh;zIXyS z16BH&C~f@~>NT1HPMo^ERsJ)*|KZ?$t z#?Sau5Dqc>8GjfQov>@T-C6k8)BV>i)DHg-1DLThG(Vf>t()l7vaQ@CZ94PLX5NMK{$j@ZlI$3vAnn((V8rpGaW@@xlPC>FsU& z-dcUNuItPn=!JKZFWaUMp=i0j0FXdFE=S!zg}PwE-FX_;I^DC*0hyhp0nQ9$o$z^g dnbRRz1LEe-pdoOR@V55J*q&SqdU$Nl{{>6&X}$me literal 8982 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 BjzRzc diff --git a/src/simplejavacalculator/Calculator.java b/src/simplejavacalculator/Calculator.java index a8cf18d..f76e879 100644 --- a/src/simplejavacalculator/Calculator.java +++ b/src/simplejavacalculator/Calculator.java @@ -23,7 +23,7 @@ public enum BiOperatorModes { } public enum MonoOperatorModes { - square,factorial, squareRoot, oneDividedBy, cos, sin, tan, log, rate, abs, ln, + square, squareRoot, oneDividedBy, cos, sin, tan, log, rate, abs, ln, } private Double num1, num2; @@ -85,13 +85,6 @@ public Double reset() { public Double calculateMono(MonoOperatorModes newMode, Double num) { - if (newMode == MonoOperatorModes.factorial) { - double facResult = 1; - for(int i=1;i<=num;i++){ - facResult=facResult*i; - } - return facResult; - } if (newMode == MonoOperatorModes.square) { return num * num; } diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index a9e6586..087bfb1 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -51,7 +51,7 @@ public class UI implements ActionListener { private final JTextArea text; private final JButton but[], butAdd, butMinus, butMultiply, butDivide, - butEqual, butCancel, butSquareRoot, butSquare, butOneDividedBy,butFactorial, + butEqual, butCancel, butSquareRoot, butSquare, butOneDividedBy, butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary, butln; private final Calculator calc; @@ -96,8 +96,7 @@ public UI() throws IOException { butMultiply = new JButton("*"); butDivide = new JButton("/"); butEqual = new JButton("="); - butSquareRoot = new JButton("sqrt"); - butFactorial = new JButton("!"); + butSquareRoot = new JButton("sqrt"); butSquare = new JButton("x*x"); butOneDividedBy = new JButton("1/x"); butCos = new JButton("Cos"); @@ -135,7 +134,6 @@ public void init() { butEqual.setFont(font); butSquareRoot.setFont(font); butSquare.setFont(font); - butFactorial.setFont(font); butOneDividedBy.setFont(font); butCos.setFont(font); butSin.setFont(font); @@ -183,7 +181,6 @@ public void init() { panel.add(panelSub5); panelSub6.add(butSquare); - panelSub6.add(butFactorial); panelSub6.add(butSquareRoot); panelSub6.add(butOneDividedBy); panelSub6.add(butxpowerofy); @@ -207,7 +204,6 @@ public void init() { butMinus.addActionListener(this); butMultiply.addActionListener(this); butDivide.addActionListener(this); - butFactorial.addActionListener(this); butSquare.addActionListener(this); butSquareRoot.addActionListener(this); butOneDividedBy.addActionListener(this); @@ -272,10 +268,6 @@ public void actionPerformed(ActionEvent e) { writer(calc.calculateBi(Calculator.BiOperatorModes.xpowerofy, reader())); } - if (source == butFactorial) { - writer(calc.calculateMono(Calculator.MonoOperatorModes.factorial, reader())); - } - if (source == butSquare) { writer(calc.calculateMono(Calculator.MonoOperatorModes.square, reader())); } From 1148b7a30886331d77cae95e12c38220ae44f3d0 Mon Sep 17 00:00:00 2001 From: ang yong jie Date: Sun, 20 Aug 2023 19:52:44 +0800 Subject: [PATCH 07/37] Revert "Revert "Adapted to Eclipse" commit" This reverts commit dae8fe0c6501b351414347635facf14851013c5b. --- .project | 11 +++++++++++ src/simplejavacalculator/UI.java | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.project b/.project index 0f6db7b..9b9f376 100644 --- a/.project +++ b/.project @@ -14,4 +14,15 @@ org.eclipse.jdt.core.javanature + + + 1692244280313 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index 087bfb1..1e85f7f 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -33,6 +33,8 @@ import java.awt.Image; import javax.swing.ImageIcon; import java.io.*; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; public class UI implements ActionListener { @@ -64,7 +66,7 @@ public class UI implements ActionListener { private ImageIcon image; private BufferedImageCustom imageReturn; - public UI() throws IOException { + public UI()implements ActionListener, KeyListener throws IOException { frame = new JFrame("Calculator PH"); imageReturn = new BufferedImageCustom(); From 21a465746b15c6ced02b330eb9a5c2096f9c1914 Mon Sep 17 00:00:00 2001 From: ang yong jie Date: Sun, 20 Aug 2023 19:58:35 +0800 Subject: [PATCH 08/37] implementing factorial --- bin/.gitignore | 3 --- .../Calculator$MonoOperatorModes.class | Bin 1635 -> 1689 bytes bin/simplejavacalculator/Calculator.class | Bin 2838 -> 2977 bytes bin/simplejavacalculator/UI.class | Bin 8825 -> 8982 bytes src/simplejavacalculator/Calculator.java | 9 ++++++++- src/simplejavacalculator/UI.java | 16 +++++++++++----- 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/bin/.gitignore b/bin/.gitignore index f731514..d633f06 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,4 +1 @@ -/module-info.class -/resources/ /simplejavacalculator/ -/simplejavacalculatorTest/ diff --git a/bin/simplejavacalculator/Calculator$MonoOperatorModes.class b/bin/simplejavacalculator/Calculator$MonoOperatorModes.class index ea308c4021b3a1b99eefdee2a51a5088473536a7..a2faf44cfe4358a4eb5d04a177bb16fda1e66575 100644 GIT binary patch delta 795 zcmZ|N&rcIU6bJC{bhrDfQy7XOv{*zCa0?bhs|YG8{;Vjv{>UC1qeg?8C^7NWi$^cb za`9jAq|2eiAH=i&hTgqt|-(+nL$-UBAr--+q7G0dNv`Tfv*af6%zM z@$C7d#(Hb>oinI0gkrLyCYr+4b)X!{bXDeJCV9RYeUZrA)oNf(tIrE11WP zmyPOrPepJ4HE)vnfWS*hw)S#cqnp zDE3l>QEX^vh60VvQlP?b|ar$4PLkrMN((>QMGG8!t#~GaMrq`&YIDMd*Vll2;;ZD57M_IK>+c-D< zo~Anc=#*1`_u$j3ywWWa(i(nPP*CAE>R+M$pJ(Hm)Vz*0i8pYQGtsB0M1a`^xN delta 735 zcmZXSyKfUg5XQgto$uv!au`Uk^B@o~`(QPEge zQP5CP!lg*WBci6^kKivr^oW_Ufr2~fW`EzzH=4cOSHsJZ7&OBP4b4zwIHgf! z7-2ZAF~Ts)u%s~xk5}FqjTn2HWtV zS8z3bo$GryHLl@S+H^jtPWr=HQ-!qUc6xDzThT^c8oY$P)P5h)Phx()eT1^5{mwSV zwonn6bOoja4(0`B1P*%wvjRtbfvUjqKwwUw77yy`L_J$N84oHOlAMnRr3*sMI27Yz z9DSxioD3CX-3(L4<}=I~>t&cV*3VEiHpnn%Y)n#}0%;8jBrZ@0Gc1}dEWf8c<#3k1 z5k;U^!3&gePGnBe5f6XCJREufKdDV_yEL*0g9g>W32 zz#vi*WOJ-wQD{jfl1$GC3^838`Akxu(9@Z8$0Qd<1avO=Q-;X~S%DlI1TCXmOY2(R zMf1!`?PtNLz?dsA^*jqq&Qn|&7nmqEDF-{JX;X%73Cy_UoH5Mg+X8d!u29~7ghlfL z3(WB4T(?CQxNi3a9u$|9y2DEXk6jOK(CwwjId@3^raNPf=jfhNl9o=Z^W8_q^4q=| z$fy9M*48bYcW@xmB_C5>K_qIGg>2WHB2hf_9{W}|{{Bpqka$D9J_k|8cx64T-$9u3 z5(YdZ?Vu{ckl_Kt4%9N`N(on8(B6XaKU(mpmV+})4X><~kBZ@%8D3dOWtbUUieb`4 z>dOh2*AR+fYKKq)9dpw&w0GN^^^iM^w7MPN^`LtW+=gR#xYP5aUEPynd#Ki)Mx5sF z0s`no5PgW?B5El%qaQ6aXl)q437V|aNZ~9p^ln3hj?hnnt0$WlsBQ;=FYR0^cdOH3n6n-%@ppi1(by7Q$yX&IY z^igYZJjFBkAxN=|6;gB%wE@vTi1?+---y(x(O7J++*GBi)haPpsqVuX)+tugE=rEi TPc_mNB)p*blJEeVN73^S3-HYN delta 804 zcmYk4%TE(g6o@0Of-ZvCK_A_l86sv+76{qJN5x0C?nzn zjqfTACN4}&*NO?LE?l|Ny*vK^cP`wS7|)#!#FU7A-#NK+-?S}lj(+|7=`(PY zN)rK%j&e-zc)x$EzOk{GpR@|L#=$;e-Q`6+?1t*B-*HMIjxcO+i4hIGm@kxM*&XkS zH#11WAjy!1;pFUiW-61iQ@z(z!ZsLHiD1$xDuXeDj5260IsH~DW92+Lp;RMEf7u}C z>5G}1=v%m=fR`#56w8MicDb{%siPYPbDlcuq?P+kgL&oNAaVBr<+osPTPXrrWyf7r z;JGat+*b*`V3q8~o*_9Ac~r?GgU6n!mGFjps$ww>4LFm9q<#Fu?}qW9tF59F1TDB{ zg)>#6dso?^zKI%L?}VMJ5>auDi$1Zcgj*DHe2}UVt4q=~#(kLmAFe6$RZb~oq_SM^ z0JcPF#^jxoJFvh6ugUTj zhZXXCq`((Sd}EUDT;&JT{A7k-%<>19HtEt?KXA5qJ>}>*aa!7H>MwATMgsJTtc9={ qi<;(ky)zt(wZ^3Cncx7=Da+a_yQmbs=xLX~t?^RUCE=<(%HThuc(gkJ diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index 9550bf9425bb8696d3c43241551e7cf22a172fc5..3341e2ae94bbe2ce35e82a4a2e8a8a67dbf1e6d6 100644 GIT binary patch literal 8982 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 BjzRzc literal 8825 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 diff --git a/src/simplejavacalculator/Calculator.java b/src/simplejavacalculator/Calculator.java index f76e879..a8cf18d 100644 --- a/src/simplejavacalculator/Calculator.java +++ b/src/simplejavacalculator/Calculator.java @@ -23,7 +23,7 @@ public enum BiOperatorModes { } public enum MonoOperatorModes { - square, squareRoot, oneDividedBy, cos, sin, tan, log, rate, abs, ln, + square,factorial, squareRoot, oneDividedBy, cos, sin, tan, log, rate, abs, ln, } private Double num1, num2; @@ -85,6 +85,13 @@ public Double reset() { public Double calculateMono(MonoOperatorModes newMode, Double num) { + if (newMode == MonoOperatorModes.factorial) { + double facResult = 1; + for(int i=1;i<=num;i++){ + facResult=facResult*i; + } + return facResult; + } if (newMode == MonoOperatorModes.square) { return num * num; } diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index 1e85f7f..a9e6586 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -33,8 +33,6 @@ import java.awt.Image; import javax.swing.ImageIcon; import java.io.*; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; public class UI implements ActionListener { @@ -53,7 +51,7 @@ public class UI implements ActionListener { private final JTextArea text; private final JButton but[], butAdd, butMinus, butMultiply, butDivide, - butEqual, butCancel, butSquareRoot, butSquare, butOneDividedBy, + butEqual, butCancel, butSquareRoot, butSquare, butOneDividedBy,butFactorial, butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary, butln; private final Calculator calc; @@ -66,7 +64,7 @@ public class UI implements ActionListener { private ImageIcon image; private BufferedImageCustom imageReturn; - public UI()implements ActionListener, KeyListener throws IOException { + public UI() throws IOException { frame = new JFrame("Calculator PH"); imageReturn = new BufferedImageCustom(); @@ -98,7 +96,8 @@ public UI()implements ActionListener, KeyListener throws IOException { butMultiply = new JButton("*"); butDivide = new JButton("/"); butEqual = new JButton("="); - butSquareRoot = new JButton("sqrt"); + butSquareRoot = new JButton("sqrt"); + butFactorial = new JButton("!"); butSquare = new JButton("x*x"); butOneDividedBy = new JButton("1/x"); butCos = new JButton("Cos"); @@ -136,6 +135,7 @@ public void init() { butEqual.setFont(font); butSquareRoot.setFont(font); butSquare.setFont(font); + butFactorial.setFont(font); butOneDividedBy.setFont(font); butCos.setFont(font); butSin.setFont(font); @@ -183,6 +183,7 @@ public void init() { panel.add(panelSub5); panelSub6.add(butSquare); + panelSub6.add(butFactorial); panelSub6.add(butSquareRoot); panelSub6.add(butOneDividedBy); panelSub6.add(butxpowerofy); @@ -206,6 +207,7 @@ public void init() { butMinus.addActionListener(this); butMultiply.addActionListener(this); butDivide.addActionListener(this); + butFactorial.addActionListener(this); butSquare.addActionListener(this); butSquareRoot.addActionListener(this); butOneDividedBy.addActionListener(this); @@ -270,6 +272,10 @@ public void actionPerformed(ActionEvent e) { writer(calc.calculateBi(Calculator.BiOperatorModes.xpowerofy, reader())); } + if (source == butFactorial) { + writer(calc.calculateMono(Calculator.MonoOperatorModes.factorial, reader())); + } + if (source == butSquare) { writer(calc.calculateMono(Calculator.MonoOperatorModes.square, reader())); } From 96bc7d65391d8da141f91211c84d273dc2530a26 Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Mon, 21 Aug 2023 08:51:38 +0800 Subject: [PATCH 09/37] Corrected error: UI.java --- bin/.gitignore | 1 - bin/simplejavacalculator/UI.class | Bin 8982 -> 8982 bytes src/simplejavacalculator/UI.java | 1 + 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 bin/.gitignore diff --git a/bin/.gitignore b/bin/.gitignore deleted file mode 100644 index d633f06..0000000 --- a/bin/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/simplejavacalculator/ diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index 3341e2ae94bbe2ce35e82a4a2e8a8a67dbf1e6d6..fc18aa6155ce798a435d523887678ff9d1dfbc31 100644 GIT binary patch delta 858 zcmWNPeM}W(6vltgd2b5Vb<+IKyA->k(^(iTjf7ct0W~E;LD2#WL&FbZEzstTR+(w2 zU1R97LKCwoep_gzlo>ix$gH5q$&yW5WwWf7wcfv;owMg`=lPve6RC;p-qtrdkpQVA zb1(Pv0NG?vKqd>BLkJ-@r1fYQ=+TPH&|dnp0t6KS`rH_g+(@j z#Ws~CRzR7RP;TWsy)U=lvOu(gAeHoCDIt~-=2`A!IcY?RQ02FNo_w!Gyg(^0@(eHe z&I(@TWolW;7G9yjCu?Li$9(q;)wHw5=UU4Z*6|OosT(mRuwH|BT}jkv47EyUgC?_4 zc~Ra_F`HD*o2ue1Rr9tsQm1-0`+)E0C|h-!dUdc(mw8v$*lxyq){`9;VyBIw!BW{} zne4V)_E;f%t(5&%$pKrzL5uOe)$xJt54ez=JADF;F^hE7`aGB@xO z-TB#H;0sQ-6)p0HtY=A_^&Ax2jNs_0$X{YN>{5wZdAjVXD_~HE4v6 zYNVR|NV`U>Q@87PCF{DzSWl%`U)^QHb+_H2v6ilTEJLZ5qwzLNY4(UFSh4PlT^-yN vj4(tQgq2CUCdImj%!!{yoU#cjCpIOqEMW#c{JZy7KK(S)`wC*G6Ept@LdMjC delta 858 zcmWNPYfKe%7{-6k`#)a5jzyVRiU#Y1^EOduQ&V#4LDEneA_Ft9Fj6cpZHg|BR9^9t z9W$&M&2~7*FdIg=%7!S_klqu2W?2tOc2E_cO!PqgdwEFZYT|$?;gg%M|kpi&()+ ztYkf_C}%Z0Swj_TsqyZPvyRjL)653%Ya`cqm0N65dtOr3$1B>#ZRdB@iQ)4w8wG(_~jeKk^d}3{UYLOe%I#K6>eCF=s za~I--OW_MQk}q94^=>LBT>)RaS)6k7JeJVlN;&P;aK>$-(QW0dtKgj5$2aZ}-?|#U zb9J0|C;8qr(&UKLy0kffz0X;<(f?kig|Yh%41u313;Hjdon6 z1HbrIex)0~@ese0?C%tAkjhQJtAG7wZuwSjGn@ZdELbl2jLpZ^j=etbqv}AtVmYHu zT+|(0)1CaSyA-Q?bhoJiJ;NSmQYtx%(**B@vN ujw4ZFLP{f5>Cx82Ct@<_s7VAhB|0%_e%w@Il}#5v`FQ1cUT(A@Y5f1?O4G9d diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index a9e6586..a397e24 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -33,6 +33,7 @@ import java.awt.Image; import javax.swing.ImageIcon; import java.io.*; +import simplejavacalculator.BufferedImageCustom; public class UI implements ActionListener { From 50a21db5e70afa994fcd34986a5b284e46d2ac9f Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Mon, 21 Aug 2023 10:09:04 +0800 Subject: [PATCH 10/37] commit changes --- bin/.gitignore | 1 + bin/simplejavacalculator/UI.class | Bin 8982 -> 8982 bytes src/simplejavacalculator/UI.java | 1 - 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 bin/.gitignore diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..d633f06 --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1 @@ +/simplejavacalculator/ diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index fc18aa6155ce798a435d523887678ff9d1dfbc31..3341e2ae94bbe2ce35e82a4a2e8a8a67dbf1e6d6 100644 GIT binary patch delta 858 zcmWNPYfKe%7{-6k`#)a5jzyVRiU#Y1^EOduQ&V#4LDEneA_Ft9Fj6cpZHg|BR9^9t z9W$&M&2~7*FdIg=%7!S_klqu2W?2tOc2E_cO!PqgdwEFZYT|$?;gg%M|kpi&()+ ztYkf_C}%Z0Swj_TsqyZPvyRjL)653%Ya`cqm0N65dtOr3$1B>#ZRdB@iQ)4w8wG(_~jeKk^d}3{UYLOe%I#K6>eCF=s za~I--OW_MQk}q94^=>LBT>)RaS)6k7JeJVlN;&P;aK>$-(QW0dtKgj5$2aZ}-?|#U zb9J0|C;8qr(&UKLy0kffz0X;<(f?kig|Yh%41u313;Hjdon6 z1HbrIex)0~@ese0?C%tAkjhQJtAG7wZuwSjGn@ZdELbl2jLpZ^j=etbqv}AtVmYHu zT+|(0)1CaSyA-Q?bhoJiJ;NSmQYtx%(**B@vN ujw4ZFLP{f5>Cx82Ct@<_s7VAhB|0%_e%w@Il}#5v`FQ1cUT(A@Y5f1?O4G9d delta 858 zcmWNPeM}W(6vltgd2b5Vb<+IKyA->k(^(iTjf7ct0W~E;LD2#WL&FbZEzstTR+(w2 zU1R97LKCwoep_gzlo>ix$gH5q$&yW5WwWf7wcfv;owMg`=lPve6RC;p-qtrdkpQVA zb1(Pv0NG?vKqd>BLkJ-@r1fYQ=+TPH&|dnp0t6KS`rH_g+(@j z#Ws~CRzR7RP;TWsy)U=lvOu(gAeHoCDIt~-=2`A!IcY?RQ02FNo_w!Gyg(^0@(eHe z&I(@TWolW;7G9yjCu?Li$9(q;)wHw5=UU4Z*6|OosT(mRuwH|BT}jkv47EyUgC?_4 zc~Ra_F`HD*o2ue1Rr9tsQm1-0`+)E0C|h-!dUdc(mw8v$*lxyq){`9;VyBIw!BW{} zne4V)_E;f%t(5&%$pKrzL5uOe)$xJt54ez=JADF;F^hE7`aGB@xO z-TB#H;0sQ-6)p0HtY=A_^&Ax2jNs_0$X{YN>{5wZdAjVXD_~HE4v6 zYNVR|NV`U>Q@87PCF{DzSWl%`U)^QHb+_H2v6ilTEJLZ5qwzLNY4(UFSh4PlT^-yN vj4(tQgq2CUCdImj%!!{yoU#cjCpIOqEMW#c{JZy7KK(S)`wC*G6Ept@LdMjC diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index a397e24..a9e6586 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -33,7 +33,6 @@ import java.awt.Image; import javax.swing.ImageIcon; import java.io.*; -import simplejavacalculator.BufferedImageCustom; public class UI implements ActionListener { From 70ab38c437c2138077d3d7da2cadc5c09785e387 Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Mon, 21 Aug 2023 10:47:23 +0800 Subject: [PATCH 11/37] Done testing factorial & Debug error sin,cos,tan --- bin/.gitignore | 2 +- .../CalculatorTest.class | Bin 4198 -> 4902 bytes .../CalculatorTest.java | 60 +++++++++++++----- 3 files changed, 44 insertions(+), 18 deletions(-) diff --git a/bin/.gitignore b/bin/.gitignore index d633f06..ec196d5 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1 +1 @@ -/simplejavacalculator/ +/simplejavacalculatorTest/ diff --git a/bin/simplejavacalculatorTest/CalculatorTest.class b/bin/simplejavacalculatorTest/CalculatorTest.class index 030012e96e5b08551378ddf978cbd5a89473ff0b..fe91ebd16f1502edd355bc63fea9f919c53bdb57 100644 GIT binary patch delta 1458 zcma)+*-sNu6vn?{8A`d7#UWUvK_0{+QSik#O%p1K5qMBUB@rE9DAlnOI#V9hSa4xc z7IEByqQr%`D`234VKHvO?Zv;rKSMn;(9)8c&_3MW-t*n>_suz(-y27Ztc!o9X94WQ z&oOHyA8Zum#(*qpQkCLU$`!RnQngexA;{2<77mGxipsmHNkJbg9Js)65uF^;nv_6; zEY*r~K%z2dvD=DnTuMO?2itM6O)Ql~pQp4+)LIxWqnAUfrtA}&yrNI#kmPimf*|@0 zqh2dYaD`zT200`<-R|OA4!mDd1G2_}b8`@4K=*rnVbB{4H%(C0>*HO!!l2!_Z5)to ztg=RoDDN`d3z||*BxyyvsWnnOpc6y7KE{-!b&_8(j5*}4KB^Y0jT7Eg8@|VZCk#*V zj1qZOI$la$XGDF$@Di^$Sj$9JmHb+b-*|{g&N?HvP#)crO2re7I?gbm?@rl~G|e!h z2UE80oo84u6Nn8eKW|wI&mk`cu0m|o6u(!L!}ok*_-v?Bo5Lr(t6rZ;@p8h%CX19D zY()}%fz30>Iy{ASl_ldiE1)BU{7HBxaej}v=?bCG8N$FAl_t<|0NJMO04%759S2c_ zLrA0lHzLuv4h-qET2O#8YzId*He7{HYTz1pS~KXE?z6GD4A%wRie{he&#ss|47nnWu6y19o8*oN%Wd+M)t!CMLbrrdE==u&E_Jb|QoZIy)nR#z3`*lXOf2(_H8zJF!0S zh0i*^@I^%}Rz*#VHCPng`VWY>(3Q|#_l43klQx7x$t>>N%Y47{oip6Y9seWh&!sQl z0K_pRbrtqbTGOa89dpOm~5m( zd2VssY2Z0V)sB;Auz}~U Date: Mon, 21 Aug 2023 10:57:31 +0800 Subject: [PATCH 12/37] Updated testing factorial & Debug error sin,cos,tan --- .../CalculatorTest.class | Bin 4902 -> 4902 bytes .../CalculatorTest.java | 4 +++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/simplejavacalculatorTest/CalculatorTest.class b/bin/simplejavacalculatorTest/CalculatorTest.class index fe91ebd16f1502edd355bc63fea9f919c53bdb57..93849c10cf254b65e2b138ae02c6aa397bef11a0 100644 GIT binary patch delta 119 zcmZ3cwoGk9lmKro0|!GMgE&JzgA7B#XU^9eK>1? zqO}at40V(J`Q#_J3wm)j0Y#dDA}wH%pMtTx9YB#zphy>k9z*x!WT8CXKA=cH(5wkS KvnB$~@&EvWSR6tC delta 119 zcmZ3cwoGk9lmKrI0|!GcgE&JTgA7CdXU^9eK@Ot zqSXx23^kMe`Q#_J3wm)j07V*sB28eCpMtTxZ9tKBphyRU9z*BkWT8CX9-v4s(5yb7 JS^Yq>JOFwG92x)s diff --git a/src/simplejavacalculatorTest/CalculatorTest.java b/src/simplejavacalculatorTest/CalculatorTest.java index 67c1352..fe71216 100755 --- a/src/simplejavacalculatorTest/CalculatorTest.java +++ b/src/simplejavacalculatorTest/CalculatorTest.java @@ -103,13 +103,15 @@ void calculateMonoTanTest() { Assertions.assertEquals(Math.tan(Math.toRadians(45.0)), result); } + //0.0 @Test void calculateMonoTanZeroTest() { Calculator calculator = new Calculator(); double result = calculator.calculateMono(Calculator.MonoOperatorModes.tan, 0.0); Assertions.assertEquals(0.0, result); } - + + //undefined @Test void calculateMonoTanNaNTest() { Calculator calculator = new Calculator(); From df52390435aecefc589eb3ab13e9a13950ac6251 Mon Sep 17 00:00:00 2001 From: AnoshaChohan Date: Mon, 21 Aug 2023 12:53:21 +0800 Subject: [PATCH 13/37] Added Mod function --- .gitignore | 9 +++++ .../Calculator$BiOperatorModes.class | Bin 1429 -> 1477 bytes .../Calculator$MonoOperatorModes.class | Bin 1635 -> 1635 bytes bin/simplejavacalculator/Calculator.class | Bin 2838 -> 2892 bytes bin/simplejavacalculator/UI.class | Bin 8825 -> 8970 bytes .../CalculatorTest.class | Bin 4198 -> 4385 bytes src/simplejavacalculator/Calculator.java | 18 +++------- src/simplejavacalculator/UI.java | 33 ++++++------------ .../CalculatorTest.java | 7 ++++ 9 files changed, 32 insertions(+), 35 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..85e6efb --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +/nbproject/private/ +/build/ +/dist/ +*.class + +# Mac OS System +.DS_Store* +._* +/bin/ diff --git a/bin/simplejavacalculator/Calculator$BiOperatorModes.class b/bin/simplejavacalculator/Calculator$BiOperatorModes.class index 2003ebfe807bd10ea67762b11c9e7a0641ae7fde..4d39039116dd1de18f566aef45d0ed60fcc8927b 100644 GIT binary patch delta 654 zcmZ9J%TC)s6o&ta9ouoH;D!Jt+)EpX132`;rGz^as;VomMye_Wfhtv879b>6fhT~- z>ay?9no2=bjo7fDyS`A>bB0uvu;rQg&dmS&%sHRaH)-$JpQ{FdIjq}A2n4m?L2cpG zGs`pVA94*0q;}gs1oc{_C5yT@xkHtuEZ3kqf+9`Doe~@ zF1krviPh-D*bq*1Ym};sU2FTjToJwGGpXIm5k9FDl5i7sO%U+ zp>ks6L*-GZ5MH48jgm@Wj7FDcP?_G-YFtNohg#6Q!UPO@0oyP3)Dip_T6CbwdR9pS zI)f4ygW55HXHESi^^o-)F^cM~;Wt#7vwdfDU*h@bSK7JDgY7`yzZ_Cj?^jI^pU&{E on-TscX0IWdx-tdt3r);x(*-Q*c?rujyJR4+f;H;cYaL(t3y^zR4FCWD delta 604 zcmZ{h%}(1u6ot>k&iE%o>jn}CNin4*v`!#_@>3uwfvl>kl`5~iBMXFt+HP7^LM-wK zD6&}d3c&~x1%bMO1y8_&XF%>vQzJ2Ij0jQ$hvd>#L+k9AH z1gWsd^4~@U;@~C>3k>4|h6Gc>O94}YC1Fy)l3+`CEnrJXNXQE$z-9GTKwv0rvjQ6q z@7bq`G8PQXGdO#VKaJA&#?Rf7zyIs^&JTh2SPbj2L;gWv39I2a z;k{OFI^)uilIxV@8J^P&hv=ACUI!OoLGp#xLGl!71!KB`jDl=jK~BL0SKummWhj_Z z@Wxay?eI(T(;}q(K#!2|n?XE6&JTD5*AI*cQ+{AZnD$RGb3*fDct=m0-ar~(k%FhX za)pj}kaiv#-GJd0avc<&gq${DAQGxJPz0x*g;~sjHPzQH)BlnBbcC7Uv*uj|6`Avk zmhGZcY|~0VN8gS;X0YgBmj@X<+9QYAN#=F2@)zv?Ivs1ua~*C)6;*tcQZiuJz-BFj IE!E%n2aBLk)c^nh diff --git a/bin/simplejavacalculator/Calculator$MonoOperatorModes.class b/bin/simplejavacalculator/Calculator$MonoOperatorModes.class index ea308c4021b3a1b99eefdee2a51a5088473536a7..2da646c6dea5c0e7bdcc14f83da262a5086cb6e5 100644 GIT binary patch delta 23 fcmaFN^O$EtAuB6CLmLC%)3a77 zpRw(kFgvhJj*>O-m8VNHGPL(~^o1BEZ*olOrd`bU73K=Le6IJD29BE)G~mtJWfeGK zGN}Tg89QU;3RclYi^|F>|D?$@>olQUC~87k0XH;jGAI7-Z`fElqf-}r-Q*2df6^XT z`dO2=RKG#iTe?;8ZIkoL@JzaT7c{|5eb3~54fsmdOy1u!B3COPP5Hp&Ls!%~>e_R3 zEu!H;d$yF#_dB;5u7`s7xQ8_ao!9)Wp^U5yNx$t}^WUtbza+85&MHZnZCYl%3@I7P zD|FoWj^2^4>HAUGUXt?cCoaz1CdA z)&x^STZOxgCLR^3?WA~2Hhr9So}gQdY~?9;i#D;1Ty<>+ojohJrib6be*AdcUA-6^ z1bmL?ozubQM-JSOxW_%N-{tOhwUUDAo!`+4xeA6bGS02w=E|VDT+M8fOGd6E$X@CA zr$u3(tKuG7PF+(mc#$DdFu_=s3~_6CH!pFhN~}|gpuZEUE7;*G5nZovq>kjOG)5J& z1*j-zyh^;rnOI?}PP6X@OLcIj%6?@=78Yw;C73Tq7OoPEC__UDPPs^PZK2^s!U-7ne%fc%@!*=O5sm_Zs6lv)fAIOlIbNpZ9s5bKW`U{jKAA zNBoz6e)tg>VL61)pxf;Ubbmc;`8I|~8^q37i`H<_D&>bK%4NG8Wz?FFwKm~tkO-plp8NB7P7hQo>z4tXL3px{IhmN4NjXB)F4u|C#`J3DtYLf zvQ8@hC6f}HRZuCERPeF_-cs45BKhrX+2)+rp$EQhvgG*}?Yz?8FnLq`TV%dtyEllOEXP`0YMU^*keQZAKzU~)-lo7` zxMsLFHc_Yl#=y|Gqy`37+2@XhQ#~V+z;4wZ8qqs4|qv;G)T>)HD&cQ_uri;O(;ND)1RZ;lC@DJYP*&6YoReJQ9Q(wW3 z)o9asofn#jRiibgkS&0toNSFmgOjgwrb#Q_4JuWc^ED1Cvu$~$5h_Ww(zg65;WlOH zQj$dv>1<4Nd4*__vulJp66IXe(0Oe=Kc@-3wT`^gL@w3v5>E2|S|XR%NmrHhzkWOA z^~g~|WJq$H&2pN1Il=vMd>_G*CYX^*W^ty-$u!StxtHWIasU7T diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index 9550bf9425bb8696d3c43241551e7cf22a172fc5..492d9f11c1738f038ff8bb499bbb027f62b83b27 100644 GIT binary patch literal 8970 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 v<ISft!FQyw68;=eeL?jOhNqrsRbO literal 8825 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 diff --git a/bin/simplejavacalculatorTest/CalculatorTest.class b/bin/simplejavacalculatorTest/CalculatorTest.class index 030012e96e5b08551378ddf978cbd5a89473ff0b..00a1768c1e6e9d5f3b3a7d0ddb5e1d27496a69cd 100644 GIT binary patch delta 1224 zcmaizNlcSL7>3`W?carID`koyYAQq#1&x9<2%;^E3PwaCq7fIQD8w#8%Rw}*(Fkrd zBe=wUOI)LzvO~CW{P3#!8MV88%cH zYdMz7M}|`4Dvn0^%`j7I;#i0Ea+N5Mu=gK>|>KR(NM5_>uJkto$lvV!R0=*2b$L$p1tE&TAZzIbM|)rLtp z#&H~dazM+{PH@aZzkH@;llv6MX>xzka!H)$xIkjO`M0>ragD@ca{-Cl9Ct|UHBToo z$nk*0pt+N|!iO$s!*XgQDlG-tZCn(!J- zz*5=4Ju=1aWqN%%)$6FfLe*pT4EfoS?$|{Edj$5YQ|Vv>fvX5?{0*`Ls{dYl`s{;* z9uhdLqeD0<5Fdsd9fJb~8pB$$Hz5n_8MU7peyy~|(ZgD{v zQR5bgLgEq?ObEeX^p(W_zz2OXF)=YFKKNjahucsgfp8yY?sw+=zI*1(+=;}m+oBf# z&c6dtfHyj*BqWOoEgwyq6kKf?{WKLO`;Pm2y*(0~!m4trWjDlv^wxOhH!<|cZoL>* zjf!gZCQT+omgrGuY4RBg#H6}dvxi}?_^!^=R4`NuhbB#~VW>r&Xx22!O$^Ow5$`o6 zhBkEQ(7yDI39U1lp%YyaPcIxF&wdiA3LE7$thE z&PL)E!)+23in!14fW)9KgI1m}Op=(>*-1QOcuwM*&M!raM*UBdZ4O&zkyy`>?U(`Q z$Pq0Dzo{@3b_c^n6pj^t45?Cyuo~><-5jN%98WMOPRSVxJ81HRmP%JHX^g2-72#&F zXyhIj$8sJek%|jZ)eeqeW&7ulGEGOOLKuw}XlcxV9xi&%L=v)S%oaA5Ak{0zO^lbV zFy=V0%A4Fc8XU7|T*Eh)eDlaRA9lJ~E)Z% zV>3!bR78T*8v=a<_HhK1{jCL-5?Dr{X9*PL;o0$PWmQmCC1q79SqtG7u@DiHK1k+6 z9K%8LS)Av%Jcld)n-;9ChTvLQQ8yNuAYE5VTc$@i#x|fEh(1Jg;}U&Sp|c{*spA}X zHXvJx^dbR=#YsZ%hI$f5W#8j?xNc862<)WYb}7w#6aps*e9SSmF4#k0FM&R#O}Z$H z7>SCp+6a5f@gjuLK?Xy?i`Ff^=wr(L#0H2xLI2qRjLMZ$(YON);WX=!jC435(S>|T YT7_45O|yyK%!tOcI~Hv;&$wg%0cPR*3IG5A diff --git a/src/simplejavacalculator/Calculator.java b/src/simplejavacalculator/Calculator.java index f76e879..8a90ffe 100644 --- a/src/simplejavacalculator/Calculator.java +++ b/src/simplejavacalculator/Calculator.java @@ -1,14 +1,3 @@ -/** - * @name Simple Java Calculator - * @package ph.calculator - * @file Main.java - * @author SORIA Pierre-Henry - * @email pierrehs@hotmail.com - * @link http://github.com/pH-7 - * @copyright Copyright Pierre-Henry SORIA, All Rights Reserved. - * @license Apache (http://www.apache.org/licenses/LICENSE-2.0) - */ - package simplejavacalculator; import static java.lang.Double.NaN; @@ -19,7 +8,7 @@ public class Calculator { public enum BiOperatorModes { - normal, add, minus, multiply, divide , xpowerofy + normal, add, minus, multiply, divide , xpowerofy, mod } public enum MonoOperatorModes { @@ -52,6 +41,9 @@ private Double calculateBiImpl() { if (mode == BiOperatorModes.xpowerofy) { return pow(num1,num2); } + if (mode == BiOperatorModes.mod) { + return num1 % num2; + } // never reach throw new Error(); @@ -127,4 +119,4 @@ public Double calculateMono(MonoOperatorModes newMode, Double num) { throw new Error(); } -} +} \ No newline at end of file diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index 087bfb1..f42eddb 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -1,21 +1,3 @@ -/** - * @name Simple Java Calculator - * @package ph.calculator - * @file UI.java - * @author SORIA Pierre-Henry - * @email pierrehs@hotmail.com - * @link http://github.com/pH-7 - * @copyright Copyright Pierre-Henry SORIA, All Rights Reserved. - * @license Apache (http://www.apache.org/licenses/LICENSE-2.0) - * @create 2012-03-30 - * - * @modifiedby Achintha Gunasekara - * @modifiedby Kydon Chantzaridis - * @modweb http://www.achinthagunasekara.com - * @modemail contact@achinthagunasekara.com - * @modemail kchantza@csd.auth.gr - */ - package simplejavacalculator; import java.awt.FlowLayout; @@ -52,7 +34,7 @@ public class UI implements ActionListener { private final JButton but[], butAdd, butMinus, butMultiply, butDivide, butEqual, butCancel, butSquareRoot, butSquare, butOneDividedBy, - butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary, butln; + butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary, butln, butMod; // Add butMod button private final Calculator calc; private final String[] buttonValue = {"0", "1", "2", "3", "4", "5", "6", @@ -108,7 +90,8 @@ public UI() throws IOException { butrate = new JButton("x%"); butabs = new JButton("abs(x)"); butCancel = new JButton("C"); - butBinary = new JButton("Bin"); + butBinary = new JButton("Bin"); + butMod = new JButton("%"); // Add the mod button calc = new Calculator(); @@ -145,6 +128,7 @@ public void init() { butabs.setFont(font); butCancel.setFont(font); butBinary.setFont(font); + butMod.setFont(font); // Set font for the mod button panel.add(Box.createHorizontalStrut(100)); panelSub1.add(text); @@ -163,7 +147,8 @@ public void init() { panelSub3.add(but[6]); panelSub3.add(Box.createHorizontalStrut(15)); panelSub3.add(butMultiply); - panelSub3.add(butDivide); + panelSub3.add(butDivide); + panelSub3.add(butMod); // Add the mod button here panel.add(panelSub3); panelSub4.add(but[7]); @@ -215,6 +200,7 @@ public void init() { butlog.addActionListener(this); butrate.addActionListener(this); butabs.addActionListener(this); + butMod.addActionListener(this); // Add action listener for the mod button butBinary.addActionListener(this); butEqual.addActionListener(this); @@ -298,6 +284,9 @@ public void actionPerformed(ActionEvent e) { if (source == butabs) writer(calc.calculateMono(Calculator.MonoOperatorModes.abs, reader())); + + if (source == butMod) // Handle the mod button + writer(calc.calculateBi(Calculator.BiOperatorModes.mod, reader())); if (source == butEqual) writer(calc.calculateEqual(reader())); @@ -336,4 +325,4 @@ public void writer(final Double num) { text.setText(Double.toString(num)); } } -} +} \ No newline at end of file diff --git a/src/simplejavacalculatorTest/CalculatorTest.java b/src/simplejavacalculatorTest/CalculatorTest.java index e4e7f91..192281b 100755 --- a/src/simplejavacalculatorTest/CalculatorTest.java +++ b/src/simplejavacalculatorTest/CalculatorTest.java @@ -10,6 +10,13 @@ class CalculatorTest{ + @Test + void calculateBiModTest() { + Calculator calculator = new Calculator(); + calculator.calculateBi(Calculator.BiOperatorModes.mod, 7.0); + Assertions.assertEquals(3.0, calculator.calculateBi(Calculator.BiOperatorModes.mod, 4.0)); + } + @Test void calculateBiNormalTest() { Calculator calculator = new Calculator(); From d8c0f3d547219c1bd23c95f081792281fe278f1c Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Wed, 30 Aug 2023 10:51:19 +0800 Subject: [PATCH 14/37] Saved changes --- bin/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/.gitignore b/bin/.gitignore index ec196d5..36ed5fc 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1 +1,2 @@ +/simplejavacalculator/ /simplejavacalculatorTest/ From 7d4fccb06284feed4b50e601392d9f88e86699e2 Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Wed, 30 Aug 2023 11:04:55 +0800 Subject: [PATCH 15/37] Saved changes --- bin/.gitignore | 1 + .../CalculatorTest.class | Bin 4902 -> 4222 bytes .../CalculatorTest.java | 97 +++++++----------- 3 files changed, 37 insertions(+), 61 deletions(-) diff --git a/bin/.gitignore b/bin/.gitignore index ec196d5..10ee4cf 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1 +1,2 @@ /simplejavacalculatorTest/ +/simplejavacalculator/ diff --git a/bin/simplejavacalculatorTest/CalculatorTest.class b/bin/simplejavacalculatorTest/CalculatorTest.class index fe91ebd16f1502edd355bc63fea9f919c53bdb57..aa479076d39557aceb29b84f733a3c0823e42283 100644 GIT binary patch delta 1031 zcmaiz$xjnu7{;HeI_WZ{vAkd=6boeHV_RaqJf@JgBH`8BQbv{-Xm9krNP65PV^}_f-VX3;*l5^J~XZM#6xD} zsUXW@+4vv5R^mfdQa-3DL9Oop+B|e|8v_*nCGqP8! z)#Ay_WYk3km-MKh7MH7kPDai8K=TLm9+Unx1=n@IC&1Re7yj}4JUO%ddM!L%|F(iV zx*yfTa!p%uLg6qL&wrrcq3{|#w#N#d=t7_)F26U5SH_5B7j9FTWEOR%ZfhEhuptZS zD1}|@u(-uHQ>!(TG>d08X^u|A=2okVG@o=KsavN%NEeeXAzeyZM0&tlMp90)jKrgR zzbrv}1?ei%)wI{}tQ29T&%TbdigZ2Q4P5hz-%7-^k#rOCP%9eK+~Tyg&a{POE6FyU z{3U51*-p|(Qn_z0WEeR8qA}RpUL&Jk#i8_1Oq^*llQ-{qp7Wmbyw8)( zwXQR(1DCIzzW`t}{+JH*$;FIrW(ub6WOrCOtJkvov$msR7)60`j7nINv1~b+CWEg4 z;&@TuB^;0t9JUI(&Fp|~7P3rBbf*HC#LG=MBq98yzE9s^>ba2(J9KAM;1x_sP#x<* zeb~@*wuHt+$|n?Y#1ondpa-uCtj944HzZQ2?g0sMK5G|DM}m}+pw$?C$jFtAzA5mQ zZ`3w&a&k-A=p^3p0+g*~_UjeqDS>y3KGo4l-8$}by(->k#G@{)5hZmfo3}h+3DN6A zX+7;l6JTEZo7Ms@He^KC)UxB{cmMXbEYu7IE$Bc5-Dq{wYNz|BG8pP08YQ}vXpHF7p*WG7 zh;$O^^7H;y2SY1~t|Gdc=o%j_1O`JrL~ka#j_7(H{U?x#+)DH|qPJru?%?MpcPuy& zxs&K!MDJ$qX2!R;{{{{99-_Ut5h-`CFx30F+s55??mFFu&~`OV05LqmQU(zu z-i0OJaS#Y`Rap2&+yaR?VY~*HY~XdsT$}mL-5(ZpJ-nge?P?F)(8KY19v-90E}s85 zJv^~!4<{Bp92fOHoYZi-+5cz?Mf`f29 zWs}Nd9J(Bq!>Uq_S31x>-+?IA${qO7Jto?VPt6Ois20?4WUg^=-E)>ag4b z+r6(!bVWrpR%yFZ5&f!CuFQdGfqPoSlw};aX${}Fmqbi`hUY%Z`FzfsPiclG6UsRz ze5>I*KVh5+6HIvCPq^S!;r`Vejef7;hdI|JtksYphfso?wzj!RJwWC`GAH>MJ>(`^ z;vCZ-|MwPt(vVxY1r5K}yZR{}d6>6wgtu^Xk+;x*%N+X#{Dv!BTfLt_J0BuflQI6S JMDTku_8)miPLu!u diff --git a/src/simplejavacalculatorTest/CalculatorTest.java b/src/simplejavacalculatorTest/CalculatorTest.java index 67c1352..40c7ff8 100755 --- a/src/simplejavacalculatorTest/CalculatorTest.java +++ b/src/simplejavacalculatorTest/CalculatorTest.java @@ -5,46 +5,45 @@ import static java.lang.Double.NaN; import java.lang.Math; - import simplejavacalculator.Calculator; -class CalculatorTest{ - +class CalculatorTest { + @Test void calculateBiNormalTest() { Calculator calculator = new Calculator(); calculator.calculateBi(Calculator.BiOperatorModes.normal, 2.0); Assertions.assertEquals(NaN, calculator.calculateBi(Calculator.BiOperatorModes.normal, 3.0)); - } - + } + @Test void calculateBiAddTest() { Calculator calculator = new Calculator(); calculator.calculateBi(Calculator.BiOperatorModes.add, 3.0); Assertions.assertEquals(5.5, calculator.calculateBi(Calculator.BiOperatorModes.normal, 2.5)); } - + @Test void calculateBiMinusTest() { Calculator calculator = new Calculator(); calculator.calculateBi(Calculator.BiOperatorModes.minus, 3.1415); Assertions.assertEquals(2.0415, calculator.calculateBi(Calculator.BiOperatorModes.normal, 1.1)); } - + @Test void calculateBiMultiplyTest() { Calculator calculator = new Calculator(); calculator.calculateBi(Calculator.BiOperatorModes.multiply, 3.2); Assertions.assertEquals(6.4, calculator.calculateBi(Calculator.BiOperatorModes.normal, 2.0)); } - + @Test void calculateBiDivideTest() { Calculator calculator = new Calculator(); calculator.calculateBi(Calculator.BiOperatorModes.divide, 6.4); Assertions.assertEquals(3.2, calculator.calculateBi(Calculator.BiOperatorModes.normal, 2.0)); } - + @Test void calculateEqualTest() { Calculator calculator = new Calculator(); @@ -52,94 +51,70 @@ void calculateEqualTest() { calculator.calculateBi(Calculator.BiOperatorModes.add, 2.0); Assertions.assertEquals(11.4, calculator.calculateEqual(3.0)); } - + @Test void resetTest() { Calculator calculator = new Calculator(); calculator.calculateBi(Calculator.BiOperatorModes.add, 6.4); Assertions.assertEquals(8.4, calculator.calculateBi(Calculator.BiOperatorModes.add, 2.0)); - Assertions.assertEquals(NaN, calculator.reset()); + Assertions.assertEquals(NaN, calculator.reset()); } - + @Test void CalculateMonoSquareTest() { Calculator calculator = new Calculator(); Assertions.assertEquals(9.0, calculator.calculateMono(Calculator.MonoOperatorModes.square, 3.0)); } - + @Test void CalculateMonoSquareRootTest() { Calculator calculator = new Calculator(); Assertions.assertEquals(5.0, calculator.calculateMono(Calculator.MonoOperatorModes.squareRoot, 25.0)); } - + @Test void CalculateMonoOneDividedByTest() { Calculator calculator = new Calculator(); Assertions.assertEquals(0.10, calculator.calculateMono(Calculator.MonoOperatorModes.oneDividedBy, 10.0)); } - - //Math.cos(Ī€/3)≈ 0.5 - @Test - void calculateMonoCosTest() { - Calculator calculator = new Calculator(); - double result = calculator.calculateMono(Calculator.MonoOperatorModes.cos, 60.0); - Assertions.assertEquals(Math.cos(Math.toRadians(60.0)), result); - } - - //Math.sin(Ī€/6) ≈ 0.5 - @Test - void calculateMonoSinTest() { - Calculator calculator = new Calculator(); - double result = calculator.calculateMono(Calculator.MonoOperatorModes.sin, 30.0); - Assertions.assertEquals(Math.sin(Math.toRadians(30.0)), result); - } - - //Math.tan(Ī€/4) = 1.0 - @Test - void calculateMonoTanTest() { - Calculator calculator = new Calculator(); - double result = calculator.calculateMono(Calculator.MonoOperatorModes.tan, 45.0); - Assertions.assertEquals(Math.tan(Math.toRadians(45.0)), result); - } - - @Test - void calculateMonoTanZeroTest() { - Calculator calculator = new Calculator(); - double result = calculator.calculateMono(Calculator.MonoOperatorModes.tan, 0.0); - Assertions.assertEquals(0.0, result); - } - - @Test - void calculateMonoTanNaNTest() { - Calculator calculator = new Calculator(); - double result = calculator.calculateMono(Calculator.MonoOperatorModes.tan, 90.0); - Assertions.assertTrue(Double.isNaN(result)); - } - + @Test + void CalculateMonoSinTest() { + Calculator calculator = new Calculator(); + Assertions.assertEquals(0.5, calculator.calculateMono(Calculator.MonoOperatorModes.sin, java.lang.Math.PI / 6), + 0.0000000001); + } + + @Test + void CalculateMonoCosTest() { + Calculator calculator = new Calculator(); + Assertions.assertEquals(0.5, calculator.calculateMono(Calculator.MonoOperatorModes.cos, java.lang.Math.PI / 3), + 0.0000000001); + } + + @Test + void CalculateMonoTanTest() { + Calculator calculator = new Calculator(); + Assertions.assertEquals(1.0, calculator.calculateMono(Calculator.MonoOperatorModes.tan, java.lang.Math.PI / 4), + 0.0000000001); + } + @Test void CalculateMonoLogTest() { Calculator calculator = new Calculator(); Assertions.assertEquals(2.0, calculator.calculateMono(Calculator.MonoOperatorModes.log, 100.0)); } - + @Test void CalculateMonoRateTest() { Calculator calculator = new Calculator(); Assertions.assertEquals(.75, calculator.calculateMono(Calculator.MonoOperatorModes.rate, 75.0)); } - + @Test void CalculateMonoAbsTest() { Calculator calculator = new Calculator(); Assertions.assertEquals(3.0, calculator.calculateMono(Calculator.MonoOperatorModes.abs, -3.0)); Assertions.assertEquals(3.0, calculator.calculateMono(Calculator.MonoOperatorModes.abs, 3.0)); } - @Test - void calculateMonoFactorialTest() { - Calculator calculator = new Calculator(); - double result = calculator.calculateMono(Calculator.MonoOperatorModes.factorial, 5.0); - Assertions.assertEquals(120.0, result); - } } From ba72ceca657c7d335ce49a8a0224712fe214d30a Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Wed, 30 Aug 2023 11:16:36 +0800 Subject: [PATCH 16/37] Tester alterations --- .../CalculatorTest.class | Bin 4632 -> 4902 bytes .../CalculatorTest.java | 81 ++++++++++-------- 2 files changed, 46 insertions(+), 35 deletions(-) diff --git a/bin/simplejavacalculatorTest/CalculatorTest.class b/bin/simplejavacalculatorTest/CalculatorTest.class index 270a530046a8a3f551f31cb3d3f4a9cc89b16cc5..93849c10cf254b65e2b138ae02c6aa397bef11a0 100644 GIT binary patch delta 1442 zcma)+*>4k96vn@s1ZT#+b~4G3VwyA{rNl`fDYVT)DaZl~v4+w@2$32X97BwZr^Gh& zp(U&(EM@5}izpOS+NeNS0w^(1v579Cg+8|red6yx{bnL3xUy7i$uswNzjMxa?i|ml zx`AolCok^Y126}F4tbY)`l41Mnn_sc*fKk5&$m-6W2v-`ZuCj)K#xFi)J}QAZH(Z@ ziyG{a*o!X&eBE|teInLwB{DI}LJbiw`f;EX`vn45Zi_iL`)-2$*?BKZ+-FMo&nb zbd9FsNl$og&S*craW+^sKXRot7Wu8jxmGtcZ83Dg4mZ~6;sSS^&`Ehk8QK}^wVlFh zU1@#oMTtweOuz9|o7FbjQ>W9&6^X03rUpt|N^VHpRDYGWmfVrJt17h_OCCr(bctbzg_SiF7*Y4AN$m z^zAZck-Sav4(jkOe_NH1JB{~9XOq59-5l=ERZ7P7d8G64IwER?QLF0wi}i&hi%1r` zdWhjdyLzEVA zIDrZ`Y!wr>BZ$>(r2{_lDJXW*LBh|g#>U^mObBWM_zH^Az}N8bTE;uoC}lwp$4#7i z*#j5!aJrC(k6ERQ`Pb6Jx>xpa=KnpMHF5rB4_wg0cZEE}=wSmrY@~;tSN8CIo(FZN z%xpdz7_S&8RB1CSB{^s|s_}{Xr);X8JJlc5R5?-Al$*0?d|*5cv;3IF;C~-ohKaV) z@-{xQPgS&hJkfPG(V)Llo6Kn#GI2|_7(x9r27J!p+3pOF7# delta 1206 zcmaizSxggQ6otI)k>9tsEPZ6io3sC z+>MI61|m?wU7vjN%@`9k@yYmN;*-%B&x~4#iJ_CsOuzr!bMF0TrY-AahWX{so<{)k z@uJ;aV%S{d4b(OVyiLBj!G>UkzoF8nHW>;&P{E%Gb=WFn8OE@u<1$X@`X(=1`;`8@(&J7N!RVn5E%=NU zd{)9B25Y&7MxWXoXp$g#L~C@mAmkmQn#BysDyuQ9c@v7~vV z;BA__IJKmPIpYf$pO-qGR=!*)F6dd2WtDJrG=+U3Qu=ROB0!K%BW-3u=Q-KGlbK9 z8)rupH)1)h{d`4M(0Zk)k4rb5!+HH7T%d_7kKJADv!KJJ5U&1fvYIAq*k2>kpo(|) zK9iezCl@U7#vvT_mV&#&ZA~_ Date: Wed, 30 Aug 2023 13:06:25 +0800 Subject: [PATCH 17/37] Added mod function --- bin/.gitignore | 1 - .../Calculator$BiOperatorModes.class | Bin 1429 -> 1477 bytes bin/simplejavacalculator/Calculator.class | Bin 2977 -> 3031 bytes bin/simplejavacalculator/UI.class | Bin 8982 -> 9127 bytes .../CalculatorTest.class | Bin 4902 -> 5089 bytes src/simplejavacalculator/Calculator.java | 6 ++++-- src/simplejavacalculator/UI.java | 18 ++++++++++++++---- .../CalculatorTest.java | 8 ++++++++ 8 files changed, 26 insertions(+), 7 deletions(-) diff --git a/bin/.gitignore b/bin/.gitignore index 5ac3b2b..36ed5fc 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,3 +1,2 @@ /simplejavacalculator/ /simplejavacalculatorTest/ -/simplejavacalculator/ diff --git a/bin/simplejavacalculator/Calculator$BiOperatorModes.class b/bin/simplejavacalculator/Calculator$BiOperatorModes.class index 2003ebfe807bd10ea67762b11c9e7a0641ae7fde..4aa5cb351d6a14da75b84e81fc12be4b0f3f1530 100644 GIT binary patch delta 654 zcmZ9JOHb5L6vzK}+G#tTiI+{? zWBjT-BXc=j)nH)3>#%8XG6RXRp*sH_@IM`#7f5yoNA4cLCEr-9(E(4vGIk}63+ zIVkfmXdUBtmefzv4!J%bqog(rzo{zR?WWOvj)~Fl6#3T&%YmNT9x^oVxkSUK9FDp< n;h*EhZ-}I>LeBpSO}x~i3s}^43Cm<%5)fFyYueZw?O*u|twmWb delta 604 zcmZ{h%}(1u6ot>k&iE%o>jn}CNin4*v`!#_@>3uwfvl>kl`5~iBMXFt+HP7^LM-wK zD6&}d3c&~x1%bMO1y8_&XF%>vQzJ2Ij0jQ$hvd>#L+k9AH z1gWsd^4~@U;@~C>3k>4|h6Gc>O94}YC1Fy)l3+`CEnrJXNXQE$z-9GTKwv0rvjQ6q z@7bq`G8PQXGdO#VKaJA&#?Rf7zyIs^&JTh2SPbj2L;gWv39I2a z;k{OFI^)uilIxV@8J^P&hv=ACUI!OoLGp#xLGl!71!KB`jDl=jK~BL0SKummWhj_Z z@Wxay?eI(T(;}q(K#!2|n?XE6&JTD5*AI*cQ+{AZnD$RGb3*fDct=m0-ar~(k%FhX za)pj}kaiv#-GJd0avc<&gq${DAQGxJPz0x*g;~sjHPzQH)BlnBbcC7Uv*uj|6`Avk zmhGZcY|~0VN8gS;X0YgBmj@X<+9QYAN#=F2@)zv?Ivs1ua~*C)6;*tcQZiuJz-BFj IE!E%n2aBLk)c^nh diff --git a/bin/simplejavacalculator/Calculator.class b/bin/simplejavacalculator/Calculator.class index 767b99c63a5d46e9c1a9dde12aa513f6b3a4d9ee..bbddeb30706b579dc0bd1e57390822b1a56b2ace 100644 GIT binary patch delta 1298 zcmYk5OKcle6o$X?d(2=v!HrwVBCR4+H?EpQ;!#?vn$&43Xn;BjP1+Qg#!l+Q@iev* z+5&M)3vDQmiUC5(vl|PEO$ZPo5U^r{SRgha#D+brV2LWuopG&>G;{9x&wu`N=H7E} zBz{fAe!ThhcfdYw1o3Ee+HJnh&w5NxN+(9f;9+zP@2r&%azG+^AcOXjw;mYfSdcM0;=A8_oN;^5m#vTTl)=-CYXquu^Jb-> zGm2?&QbA!C%2`$|%pURv1tv9o)wxPdOe(u0tLUc;ii&PnjrPAfUjcK3W3a+?6y2A#Wr}$ z5j9UbO~0dj)%2t}ktp6UAlJJ}TOW^aq?k|Y1vA;owthTSSO-xcub%PzN z-_Sqy71{5F?WIG$2Whicf_wWO;9GX{GkZx0YPfoAW{Y?O@`edTQ@&&}d3RD`>J0x2 z?us5#n%z6UB-!1)&Lj4Np=5o(a5J>aSS08t$pN}VAtgDz400cboC;f|KC(-01+_XX zKdk;@4?_g-I90u9T>?JFSQW?P{7Jyc9@^^2cet#UyzYo< zLdn_xhSJ-HRpYJHcG*BULWrD<^sp$5*cp9OVuUB%x}Lj)5dbZnUgM};(zn-7G>Gk# zZB_4#Qj^Ft4I;|lV4{gkHMldXAgc*XH)wMyvm2alf|c9B`6l>mgCWI?EU&ng;+(5S zmah|v2&2BLVsV~#poHtF_zK}Ti%O$a=6qA}#a4SSHIXYV zjxtM}<{EP}sPL(vKQPZvoZ)xQ@ux8U;syR;k(->?{9Mom+qkH0=90|E73ak7#jnoi z)``pNu(TipB`bHJbZK*$cV&VM$ynjKWDM9x@90dw=S;%;d?2=6CMPC&A7-}5{nPkJ M?8kzuk&H3=Kg@UqMgRZ+ delta 1223 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 BjzRzc diff --git a/bin/simplejavacalculatorTest/CalculatorTest.class b/bin/simplejavacalculatorTest/CalculatorTest.class index 93849c10cf254b65e2b138ae02c6aa397bef11a0..9e950a46db3495aef097db4707f08f649cbfe095 100644 GIT binary patch delta 1686 zcmZvc{clrM9LAr!ws&oJ`m(#*;bdAMvKQwz$JSpm~6~Bwkh~>S!bEvwHwb{3>a#Vs7!+|5tLcMxFAM_s4TwzU}9oS`~!?XNMelNd#-DXp+DSvzUMrj z=X>sR&+TlE)wPkn#{SksH2L!>t7RY&<&#oSD&`lZ z^Lb%Asp%(&y?i1k+2hM1+7dekG`+KLc*Fr8>KFnjk|4*$v>X;3kz;?EBMI5<)<&a? z7{&a}4L{`EB-9RD8;Ck%~L*z9tpTX==SmwFqh@Q6)r`5>-ajMx{M1>@bBvA-s)* zl_abpVYRUDOxtf((UGRwv#DC5>WB&u6%X$i$vWd>M>wxuju3Ps7v>$m@s8?IJiL+FQjm|EQO;yB~Qpf%M=&z`l4a|NfmEq8&W~UDTByltH4Uo0PQJG2QERUVvsMm zm#6LC7IrJWYW_)g#>_3+Uhx*@F2Q3c#x5T7W|((~DPKkH-^~yNyqCfU|8KmT8tkL@=B7|A^I9P^2EV360Zh>i|%&%oNh-A zBpQDuBKTUx&P)U<7Ot255dx1=1Tz%DF(ZOf^Ht{HTQbVQcle&}3XOd9AM!)E2s+(= H3>W10`r6&3WJX$_M0VvW5Fy-nY1roQ(F)EB2`&y58d+7IX6-=62?cb?z9_m9%4)mgJQ zuYL|-BYt+nW}s9}IOTZBq>}c)_^(r5SG>2s$BY@MQpL6^yDJR!nQ<+B_%Cw!bA>%> z#5S&W+VdQ>0(B~8uXAh=*r+D$n;lyPZdZTWZ*{Z^Y**!u3fJ8NyV0ihIrh5l5!i=& z)pbWCEs6)+IFR(1a8_jt97Lx9SK`p1+0TD#=v=J&oB>z2z=MdXG3Pl?6o&-*(W%N@ zn^-(7@Cb{3SJiM7!vaT>3ikcI30Jt)>ePz@920mFPZ>y$_72`3JJ4pv2B~ikl|{T5 z#Ys0#7|854hs<>`Gk$R0o#sHNz$uIwNE_(A%ZzrJ@q__KC}I&#Cw<1eD92fWN{kzD zh9YXEyR0~h=LDYDJtVr~u5jaA52JV~xiO|hk7`)5m)DaUV`|FX zRQR^QJ9wAcU5Qq+)w17{G<{#-16)*YPXzJMymG7dP-fN;D`lJ(v+7 zIFI042o4f_hrcle3|qh^4J;sV1%ZVG79~}Ui25ZvSFQKT+$|E#DOQWc%GazCvR09` znygaY%T#)Wza<53UI;EHcrC#d1XpT{9opiCkli&Bb1YI=<)<`umP=Tt+ckqVml(JW zUakQ+xmHuOhWE87K^@n6r0YE!*E$Gf@am!EdQ`#SeY>`7&ycGYSW0v(a;1;Np7Lqz zRX0UJX&K+O8Z<6Yu1zVgO)1|;<s#qk+D%}CG8 zhv|odz3rwz8-i%(Ks(e#R&m-hP>dURR>wxUW#=T$FO*|JxfhdiD(-8vlc6s98vI?B z+pBu}HNE|}uQ4U~h8FxiOLknyoR`a7s;eG$73Wjji{Nhqq?%-hYoiNRuHR{UH?LuzDe9{^%d-5#@74mn1&6gqE1=qZD|I z;UCd+oz|o)Bz+?B>Hm_RAZdi8V|rpu{(zeG=WGg*_Jzb(DH@+A>n}FXw|w#Jt(Nd^0RhIt;i`fZlnVES|V-{t(kncRLZ9*aE1Y#WdP&J07|VSZJ6c!ZTKEP@apGX QE Date: Wed, 30 Aug 2023 13:19:32 +0800 Subject: [PATCH 18/37] commit --- bin/.gitignore | 2 -- bin/simplejavacalculator/UI.class | Bin 9127 -> 9433 bytes 2 files changed, 2 deletions(-) delete mode 100644 bin/.gitignore diff --git a/bin/.gitignore b/bin/.gitignore deleted file mode 100644 index 36ed5fc..0000000 --- a/bin/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/simplejavacalculator/ -/simplejavacalculatorTest/ diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index e833d2373f22b822d5dc3f8d7c655f4d3df86c1b..6bb429adc8ccf2bbf3d73e102e4da20fe2dabc76 100644 GIT binary patch delta 974 zcma)4NlX+`5Us}mJ+_Ur5GAM(7|?)Xh@LbP4FZZJ44@E=+o558U|{H;bT=rcNj!RO z4;n8V3?wFsEFz$yB5t_v;=U{HyIwT@o*{7(6XT)#|EhZR>ecJ+C>bjiM}G|t5z%7& z=o0gs=^{GOC14+DN`u@Y=Lcn_F277w>Lhfd$82%Vws&H`ggzWFcR6#j-9#9WFo=Vo zlqR{66{$+CY^(_w_57wAvSR3_&F#smGPHnF=M`xu4oeuKjUYj1Mm5`POu|tN3pi#j zbxpM$$B4PsmF^YMj*}8jp#)?%)M&e#fB_MsI49sNC^;fApypR{Zi7RZ+$7<=IpSKB zcv+&|xWY%57u}R_3uBNu7fYPEivizvvs2j`WT0_-Z zEt_6}w&#@ng^m)gkQINB>Dgtf+SnZO#=tDLFt;xzH8CgJS=}09vBl_g@A?>gMNI>% zHN3eosR@cAIT)-87|iQP#B)2|g1cdBR+hwa^!7jL`CZQj)l=CwxR4p5hrlr|{crKK4!I e{SF^^ZaT+&#AkfvqF2#Rd@D#rh@amJQhx)OVI<1{ delta 684 zcmY*WSx*yT6uqYfrVfKnO9Da+7Fhy{5{wTRw?=A64Z($~(P-k3PHN3KZDt0QCleEY z!51HlFFuvTM6?B`6%=qqalu_sao-jHfYJC(i6K7S``vTyIp^k^4E3~%V}AyQh-eLd zro;w0AmA*hbiZ;?Y19-w+Sp+kF+IAzE2c$MLqspF6_G~2fIiUNSz23Mk4iWXn}y|C zPa0VX7cjt%%Jn6D2^S??!VsuHNhDM~0$R#Oy$g5zC%(!dj!3wSR*=Vv&wwJG#8nB` zXb(s*RV%C>w&vglZVDI$$+HPMx=l+xAmJ9qScA7>g$H*)3pN-=-0&aT7t>UKLNQF$ zZ^iwcFKkePP>tO+`{j z*HxoMQ%qAe`+gNS&pUFQ^2o)1A+WfgP7R`WX9nk-)dDdKiiN!3V_8;+unD-$+RB{owHw$M6sz|H3+Gk(ZJK2a&vP&pps z2>~7s3gn6iNR~6ZsuEAxMAh<*lQ_e*JtW{cUhrLDFBCpm&FL1ob859b%gZd@oFLf= zUyKjAz+UGu1AXEH7Ork?%E{%t_~E5RIvptc3zk>F A&;S4c From 5bf3982a3d1a194e86779af4e8f2b2c0f4081e34 Mon Sep 17 00:00:00 2001 From: XTeamDanny Date: Wed, 30 Aug 2023 13:35:55 +0800 Subject: [PATCH 19/37] Updated mod --- bin/simplejavacalculator/UI.class | Bin 9433 -> 9451 bytes src/simplejavacalculator/UI.java | 7 ++++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index 6bb429adc8ccf2bbf3d73e102e4da20fe2dabc76..ed73039b7977006364c5606e3799edd367068d98 100644 GIT binary patch delta 215 zcmccV`Py@Xo;()|2LlTOD+2>l-((AUe@4sA9rE`X6_vHLwlFemVw|S6jWKK+W7Iar zIIS%V3xN3dHpZlFjEF<4GMqj=ccjwyiAktu@Fi7B1Yg(;uWm8pu+ovDe@ zgQ<L9&^nNXj4K#dGB7f*GIcVpVqDF@#K6wfKKYuG52N~I zW#w4j00v3MKn7XHAO;=AkjcHuv7C_%9E?#6yo@oEKPwjsCNOX@CNhXHCNYRJCNroq KrcN$ZNdW-ExG_Tj delta 197 zcmaFudDC-)o;(-xHwG34Rt5&9hRGK4{*2n2JLK;(3X5uKZDC~C#5hfB8)Miu#;9$K zag#d~{h1#zSWLd9c-Y;6$&1mEDU#8dDUs2IDTmRGsf5v;se;jqsh-iBk(q&k!31I` zBMT$YaFFqgD;QTYFfy<*RWq()T+P75z|K@T`Gt}XqvT{$ Date: Wed, 30 Aug 2023 15:35:30 +0800 Subject: [PATCH 20/37] bfor pulling --- src/simplejavacalculatorTest/CalculatorTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/simplejavacalculatorTest/CalculatorTest.java b/src/simplejavacalculatorTest/CalculatorTest.java index 6802d10..0aa614c 100755 --- a/src/simplejavacalculatorTest/CalculatorTest.java +++ b/src/simplejavacalculatorTest/CalculatorTest.java @@ -143,5 +143,6 @@ void calculateMonoFactorialTest() { double result = calculator.calculateMono(Calculator.MonoOperatorModes.factorial, 5.0); Assertions.assertEquals(120.0, result); } + } \ No newline at end of file From f742438f41c0952406605f8372011ebe1ae1e8f1 Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Wed, 30 Aug 2023 15:49:23 +0800 Subject: [PATCH 21/37] Checked Mod Function --- .../SimpleJavaCalculator.class | Bin 865 -> 865 bytes bin/simplejavacalculator/UI.class | Bin 3341 -> 9145 bytes .../SimpleJavaCalculator.java | 16 ---------------- src/simplejavacalculator/UI.java | 9 +++++---- .../CalculatorTest.java | 2 +- 5 files changed, 6 insertions(+), 21 deletions(-) diff --git a/bin/simplejavacalculator/SimpleJavaCalculator.class b/bin/simplejavacalculator/SimpleJavaCalculator.class index 83e029b3fe87d0255398edffb6b79b6e3ff8fdcf..cfcf44d8f4cdfd4854036d65b226b89fa9d2ed9c 100644 GIT binary patch delta 39 tcmaFJ_Kan?Z_!Z?X!rEda3c25|rY delta 39 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 UPr}>bKZbS0)%Od3H>~5o0sU#9aR2}S literal 3341 zcmcIn=~ok16#qRy5@G<2ilx;WTCw1kx?4dls|CZN0a~@&BzeKXWF}5#Si0}~u3hZ@ ztzT% zms7^HkumZaFK@WElNcWep+;bxVkh#3HJKPmPsxlMLao47pKHvx2{|n-H_?@GP1{PE zC0AO~5m=LRjDi%{m{bR66QvoG3I_WXw}axMVafao@u=cbT<42ZUV2{{y}yh;P(~jt zqYstQhs)?AW%N;j8duJ`jC;9rV`O$Y(x3y?X^--z3(F65d#-C+6xUMRmCXuly2F7m z4-A=>R}xsONH6c2#rzz-;8(9XZDyGpb*S&MXD|C1w!OIhD#6B9V5-l%0{!?J8Qo|f^&d#)Wf z;?oAjyt3-?RS(4fUwsjDqAQBS=;j!-1;zBYgf6s7ZDZ23_8#a)LYoDeQAdmmGCeExW{1m>k$I(!F%2O`03GRpPmQlT^o9brrh zZ1J~8eCDE=mvKKIYGTv=7T&8I>55USN;!7*Dc8tc8ZwG{Qfuix+vWDE_u3w(o7sB?eCUP0}RC1;mJC6}(0i-Llw9Y5oku5xtQYSK5`CzPk3 zL~#XI`DSH(@AaF-H=$QaKa1jXe4$>V(y%ei1=QBtem;yZ1)#)Vt0wtIsqd}OiF{O2 zw&!GIKWodV#|QQ*_tC;>tmfYuv?7KO!u$~yLmf3LT&ppvv0h_?#zu|nG_Kbe)5szB z^=v|ukDGCqkIfqI)_9M`EgH9KyjSBkjd6`F8t>D1zsBtvTQ%;`_<+VXjqMtDYTSk0 zzF&K=*T)1N^l_h$RoIUM{I0@593s{-U))RlKFY5eem#T^QV0D^vKlwhc`kP11|I&+ zztyAf04em6j`D`8Ss(g|0;i};RM7B91r5(s)G&zCWg4oKcHf8ON)4j6f`%##FZytm z5h)EPcm9l#n>cgs22zTg$M^y+EWntDoQFA&{14cg{0X)?6Z39hX4gDsZwa5h?g!a| z?c5mEP$`H}F+>MiL?>Fsahwn*eOHS_90KZNi80^5yB?f?J) diff --git a/src/simplejavacalculator/SimpleJavaCalculator.java b/src/simplejavacalculator/SimpleJavaCalculator.java index cd11787..59153f0 100644 --- a/src/simplejavacalculator/SimpleJavaCalculator.java +++ b/src/simplejavacalculator/SimpleJavaCalculator.java @@ -1,19 +1,3 @@ -/** - * @name Simple Java Calculator - * @package ph.calculator - * @file Main.java - * @author SORIA Pierre-Henry - * @email pierrehs@hotmail.com - * @link http://github.com/pH-7 - * @copyright Copyright Pierre-Henry SORIA, All Rights Reserved. - * @license Apache (http://www.apache.org/licenses/LICENSE-2.0) - * @create 2012-03-30 - * - * @modifiedby Achintha Gunasekara - * @modweb http://www.achinthagunasekara.com - * @modemail contact@achinthagunasekara.com - */ - package simplejavacalculator; public class SimpleJavaCalculator { diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index 6de8390..66470f4 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -33,7 +33,7 @@ public class UI implements ActionListener { private final JTextArea text; private final JButton but[], butAdd, butMinus, butMultiply, butDivide, - butEqual, butCancel, butSquareRoot, butSquare, butOneDividedBy, + butEqual, butCancel, butSquareRoot, butFactorial, butSquare, butOneDividedBy, butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary, butln, butMod; // Add butMod button private final Calculator calc; @@ -294,9 +294,10 @@ public void actionPerformed(ActionEvent e) { if (source == butabs) writer(calc.calculateMono(Calculator.MonoOperatorModes.abs, reader())); - if (source == butMod) // Handle the mod button - writer(calc.calculateBi(Calculator.BiOperatorModes.mod, reader())); - + if (source == butMod) { + writer(calc.calculateBi(Calculator.BiOperatorModes.mod, reader())); + text.replaceSelection(butMod.getText()); + } // Handle the mod button if (source == butEqual) writer(calc.calculateEqual(reader())); diff --git a/src/simplejavacalculatorTest/CalculatorTest.java b/src/simplejavacalculatorTest/CalculatorTest.java index 92bf605..8916d3a 100755 --- a/src/simplejavacalculatorTest/CalculatorTest.java +++ b/src/simplejavacalculatorTest/CalculatorTest.java @@ -51,7 +51,7 @@ void calculateBiDivideTest() { calculator.calculateBi(Calculator.BiOperatorModes.divide, 6.4); Assertions.assertEquals(3.2, calculator.calculateBi(Calculator.BiOperatorModes.normal, 2.0)); } - + @Test void calculateEqualTest() { Calculator calculator = new Calculator(); From ee30542290cda0c9e0bdd9258d3f140eb83498fe Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Sat, 2 Sep 2023 13:52:17 +0800 Subject: [PATCH 22/37] bfor switch to DevOps --- bin/.gitignore | 1 + bin/simplejavacalculator/UI.class | Bin 9451 -> 9145 bytes 2 files changed, 1 insertion(+) create mode 100644 bin/.gitignore diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..d633f06 --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1 @@ +/simplejavacalculator/ diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index ed73039b7977006364c5606e3799edd367068d98..48532273d64a8cfb4c36c8ead352d83143c55c26 100644 GIT binary patch delta 662 zcmY*WSx*yD82wILm^w_gr3n=@*g`Q>QG)S7W7I}!NDUz>Rin{|AsuVYIBjNHl_wJu zf5D9p#uuMzVj|jtZ2?7GL0oX(abH3F14iSW5<`5t_kQPmXUUxk_qT~-e+Gt#Xf1wb z#U^J^z&Vg-zkE<`R%I>L+?mqjT5Ll)u0|DIL=UYKkwc$=UeMfGT6;o^Nw|PKi#QkC zb0|va#{fI(3{>$YT$FGLL!fdwnN+kWXc-%EE!y#)_!^TqEa3{;K=xE(1{CQeu1UB~ zdq9Grq$0}U)EwNzsDKfWb2dR|w~uT&v5UNpuF!*|@WgO;iYM+SSlHA>j?) zf-0hkbeF1Zm({cavNi@nBEont;R8N`%Hl?c+ySyRh620n_zWTw{%RKc#W0Q^Q8sL5l;4Ig+lYp0a#RC2Xb+3zfcY>T|OgBE2qPffm55%D_ pe8BelSGANDORBu0$3Yf+=MEN3VyYC+!bAPWk6<;D{G1L}{{=&vznlO7 delta 1024 zcma)4NlX)A82ugvrq+=zL`jVhf=ECyje5~k69g176cBL1C2@d1P$)A^XFxfTc=S3R zG+sOyOiUD6#8MSE+;CUi_g%z&zi9lYLt+yX<6-9izvaE}eQ&0}XtdZi^eZwzL<{hv z%a-d%v!N4R0``HD8l_gr6OiP3Pl+Pei|9s=-s;G*c4EJXJ{-_@I&v~yMCcb0!9h?; zv(&^26uDN?R{FIDep59`)>Pf%%9vWIh5T~8*GAiMSi}IW0|_eAs@O(t9FF3+fMfbX z=S0g14C>X+G_MUEI3?mVia=IPG2t!(`fV7(c>(7@$x(@Z#Z%6?HQvIcW)T zATr924GmB9Ev{MZj(kPYR4pV0eN1am>QozEVno0zQ05=A{Bo<(#5|^8(~ZSat)_(9 z44Ynqwq}?7)ol_kk>t7nQ!`5xrKu(8jcGI3+PQr(sj)dGvZ^h}VvFW<@0ytYvYJL# zt9f%`QezYaQXo+2*O=Fyh!u=Jq5*=cVFNGz6R7Agox zs>)OWpFq?8Yaan$KxzMO1tprxgY5bKvLFjd+&Q08$5fEhr}T`t=GfaeQ9Q-*pLXW- zUfN+ieJBiLZy3E1go*laXcr}ybmPd3KAeo;jFCFqMf{7Bo2H=&y65IzvsDs1DU5P Ar2qf` From 8394f316eed8554b50528c49a7e6793c9a8b0b76 Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Sat, 2 Sep 2023 18:37:31 +0800 Subject: [PATCH 23/37] Added jenkinfile --- .settings/org.eclipse.jdt.core.prefs | 1 + Dockerfile | 14 ++++++++++++++ Jenkinsfile | 24 ++++++++++++++++++++++++ bin/.gitignore | 1 - build/built-jar.properties | 4 ++-- docker-compose.yml | 23 +++++++++++++++++++++++ 6 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 Dockerfile create mode 100644 Jenkinsfile delete mode 100644 bin/.gitignore create mode 100644 docker-compose.yml diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 8c9943d..9478cb1 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,5 +1,6 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=17 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b590801 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM jenkins/jenkins:2.401.3-jdk17 +USER root + +RUN apt-get update && apt-get install -y lsb-release +RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \ + https://download.docker.com/linux/debian/gpg +RUN echo "deb [arch=$(dpkg --print-architecture) \ + signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \ + https://download.docker.com/linux/debian \ + $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list +RUN apt-get update && apt-get install -y docker-ce-cli + +USER jenkins +RUN jenkins-plugin-cli --plugins "blueocean docker-workflow" \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..9afe416 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,24 @@ +pipeline { + agent any + stages{ + stage('Build docker image'){ + steps{ + script{ + sh 'docker build -t siowyenchong/Simple-Java-Calculator .' + } + } + } + stage('Push image to Hub'){ + steps{ + script{ + withCredentials([string(credentialsId: 'dockerhub-pwd', variable: 'dockerhubpwd')]) { + sh 'docker login -u siowyenchong -p ${dockerhubpwd}' + } + sh 'docker push siowyenchong/Simple-Java-Calculator' + } + } + } + } +} + + diff --git a/bin/.gitignore b/bin/.gitignore deleted file mode 100644 index d633f06..0000000 --- a/bin/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/simplejavacalculator/ diff --git a/build/built-jar.properties b/build/built-jar.properties index 5900276..2ff170a 100644 --- a/build/built-jar.properties +++ b/build/built-jar.properties @@ -1,4 +1,4 @@ -#Fri, 11 Aug 2023 22:35:15 +0800 +#Sat, 02 Sep 2023 18:25:31 +0800 -C\:\\Users\\Clarr\\OneDrive\\Documents\\1.\ Software\ Engineering\ 2020-2022\\A)\ SE\ Studies\\Y3\\S3\\SCC\\Assign\\Assign_2\\SimpleJavaCalculator= +C\:\\Users\\Clarr\\OneDrive\\Documents\\1.\ Software\ Engineering\ 2020-2022\\A)\ SE\ Studies\\Y3\\S3\\SCC\\Assign\\Assign2\\Simple-Java-Calculator= diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ad21b5a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3' +services: + jenkins: + container_name: jenkins + image: jenkins/jenkins:lts + ports: + - 8080:8080 + - 50000:50000 + volumes: + - jenkins_home:/var/jenkins_home + - /var/run/docker.sock:/var/run/docker.sock + environment: + - JAVA_OPTS=-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true + agent: + image: jenkins/ssh-agent:jdk11 + container_name: agent + expose: + - 22 + environment: + - JENKINS_AGENT_SSH_PUBKEY=ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDrI0OwiBlpK4FER5dMi2DwBs00FCdh1eGzvrNL1rIGhGyn+YUwXqCXEdTpCkA8lsjbbtUmDnRkPeCzTJpfOMcU+zBuQTUxS0txG1wotyGKWBEckd9giP4Z09JNKyftPdJEz0+YquN8KX1zS22l0hVZXHFQCSvbjaPu72D60752W9J0PdDSUfX7MdgJ/cDLD2IXguGcXVn/S3tLcdcoukFxsQ7zcaWkg3aF7rtFvuVQANb0B+h9KTxcQorJlDM4p4nkfiQEGxpijAh+p7Zi285kOt9OiJ3ButT4CnM5G6P2mhOxgLZX1InTGA07VTKGiGPp0Mrp2LzNKBDZdex4zNhDHmA3EiKGmKUHvHTcjA30md6VYqo7UB1S2BbCcmpDvcvtnplif8IyLfLq9qJb2vq71ItIho876MP3Kr7O4Ddh0zssuCMMtee2fnFpCtKRE4o2thlb/RM1vOKg0OvAo96Pl77HVuQm9RaTOe+PVk/63WLl5migG4THgbrXV+5HjCk= + +volumes: + jenkins_home: From a511b49f7624fe0f61cebed47c53d39ba7317700 Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Sat, 2 Sep 2023 18:44:29 +0800 Subject: [PATCH 24/37] resolve conflict --- bin/simplejavacalculator/UI.class | Bin 9145 -> 9145 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index 48532273d64a8cfb4c36c8ead352d83143c55c26..bf50595f0758008b6b44e0ea6b78b9033e9bdf69 100644 GIT binary patch delta 954 zcmW-feN5I>7>2L=oSy;)8V%!3qd-9v`vA1kLexM&O++%K$OLK=6H^S5D18mfGNDK` z(Wa43qf8{dD?7Q3gQRhkDV!#q@0iN3Oj8)sHIfXCXND$|t(nYJ zKC`rt*(!CloH<%ct~N1OjpS)B^K^)Oz0aNMX1>1SE`6WM0$pUGfdUi3-DU*$m_!QA zMD8`yS!8m#&lIxQlu~3WDKYDKAh0cZhv#2H1f>jTDKR`q0?XX=%iVMjk;O`8Q%-@a z#XL+I6|AO`8Xlp}b&ZZ}50BD9HSIh`Cy#TAHT1C7vH9s^9e?nI22-O**6V7XR3c9) zl?|H0Gn&OlE%5WKN~qOJ>Kx>As^xiYr`|!npf}m9BW%$LwmQfc)yp)C7S*=Kg~s(GDe)5dG2ll>;h8|EwrOfN0Q z-_Jn{tu~xP)|FP78ZSU&fX z`NB)%OD~f%fnzbh82?!Y@iifQ;~YANk8c^nc@o_@gNPea?@I zZs+}M<`PW|(9CZf=6AaIiy(iy-~Z4j!+@-YXt1tOh~iy$oi0%|xtmob zic+QksE6Loh@g`5# zn*!ZnmMGb*P>QM61XH7lW`k}qb(++$HSULqG~!$w5|qwVO>5XVYEjq>LX|~?avCm- YDv!K_A(}&!a*5Vl_ikQ8`RJT~0V2L=c|QY;uhe-!3loxH+5yznG{mV0c*u}3BeCR=iHad6lc@a6%0psN zpC;Ng(`jZ?QEGu@qN5_EWZ419%2+AY51Ha}%OAb<>)Ctn`SD)Yb2nx-X4V~0_!A8c zMi*5q&nPTjUbbvuVQGE4ru0gTBPNnl!c~r_j6$?VbH{(t*FH+Q@BgSRnql?n5xZ^; zO(wuNQh1Qbq?1hs`DC($sZ=tJ4NPY{GdRRUoM0wrd6?h**5Axh6gj$$T#aP5#*(M0 z%ux>cdW5+u@w1%AwUT+-K!Iv0)EVN3lRxDKS`RK^EB%7F!~v zHijiOk*91XWtPuUE1}#fc-mG`QNLx-wm_(oAkQ#>Dq?w-1fF9wD@h~d310BOUQM2# zg}g*5FSCL*K3U5~)=|rPcJm4cJzXQ!H2d@nuhPM5o~?#%Ugsa)&`pHZmrc5z%}V4= zjbe+&vsKgBrr9ChQW4v=lpP-OZB?^VTY1Mr?$Tj)>lk}BGd@R=LV=PsEqTq<9>EKa#xPP+nHT`6C=O3t|FX>)7+tl=A1%UQRRZ{0q= zb9H?08u-CA(e7F}=i2CS?fmF2aNc$Clk4VZcb#7Xa3K)MuYo>v24eWFe_$9F14 zB=bigl|KXN{8fK4_KJlr)5|-I;EKP{RbuGjF0PU2-znbf1a6Qn$d-I(j74%(de^HI z;hjf%jW>H;(HvEf7WJXc-=I_d=+*$PYoK~-u=;6;hAUQgYpBu`rwqj_&nE>+(6S;W zs!Bmpyq}z$Cvjl VptlO??^`lR#eQ#oxcttne*t~L>0tl> From 0db4a21244a88d2c48febeb50fe2d660b3ac3856 Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Sat, 2 Sep 2023 18:47:23 +0800 Subject: [PATCH 25/37] lowercase repo --- Jenkinsfile | 4 ++-- bin/.gitignore | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 bin/.gitignore diff --git a/Jenkinsfile b/Jenkinsfile index 9afe416..46c1bb1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,7 @@ pipeline { stage('Build docker image'){ steps{ script{ - sh 'docker build -t siowyenchong/Simple-Java-Calculator .' + sh 'docker build -t siowyenchong/simple-java-calculator .' } } } @@ -14,7 +14,7 @@ pipeline { withCredentials([string(credentialsId: 'dockerhub-pwd', variable: 'dockerhubpwd')]) { sh 'docker login -u siowyenchong -p ${dockerhubpwd}' } - sh 'docker push siowyenchong/Simple-Java-Calculator' + sh 'docker push siowyenchong/simple-java-calculator' } } } diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..d633f06 --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1 @@ +/simplejavacalculator/ From e4516997e0842b1ff6dadfbab3cc1a796cd16123 Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Sun, 3 Sep 2023 00:17:56 +0800 Subject: [PATCH 26/37] Resolved conflicts --- bin/.gitignore | 1 - bin/simplejavacalculator/UI.class | Bin 9145 -> 9145 bytes src/simplejavacalculator/Calculator.java | 3 -- src/simplejavacalculator/UI.java | 35 +---------------------- 4 files changed, 1 insertion(+), 38 deletions(-) delete mode 100644 bin/.gitignore diff --git a/bin/.gitignore b/bin/.gitignore deleted file mode 100644 index d633f06..0000000 --- a/bin/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/simplejavacalculator/ diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index bf50595f0758008b6b44e0ea6b78b9033e9bdf69..0cd229b0522f6e38886f14fb9243aa82aad1602f 100644 GIT binary patch delta 563 zcmW;JT}%xC7{>Ac`@Sd2I$Le5Y(ml6Tu8~rrkbI`#F|+*#;Hvr>qF^?Iw{IW(Htp_ z)iQ^Z5>AaQqE_NKC5fDtWa?xq^|IT;8OhUjq=8(cx%&)+E?D$3}ZISxcz3r0q-4wR~%tXIwJY# z>x~+-sFj*6@tP+IS}2KHAxT;zYqU<*YNM?4Hb;MVCKD|w#7ZiuvcY>cW=}{O!IF+s bws?QU6o+qTo@6p#b`T*u1G_A5@v@A+xtfz} delta 563 zcmW-dT}%xC7>1wk`%aXdv(?7Rrm1LcHk8`9NNiEfPsYr;F^VlIDoTkuDIzQ4NIxdg zB2wZo9hQZVN*#AJ7j8^Df8C_aSw>EKGJGi6w=+Qy$ z>Il8+=e~ZSPiN>?_fH-e449Kg7J=86^4Q{eV#z$U3I~8v`$`G53g;25gX)<4fEDUd1rn`?Gx|qD`PgpxXm(Qzxm*RNk=eKj!^uL2tIoI zBgZUqxn{`<&6Rj9lmxAiM6Hn|t&`Q-C~G{;(cfLkL>>>>>> master // never reach throw new Error(); } diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index cb0f9a8..d718b42 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -33,14 +33,9 @@ public class UI implements ActionListener { private final JTextArea text; private final JButton but[], butAdd, butMinus, butMultiply, butDivide, -<<<<<<< HEAD - butEqual, butCancel, butSquareRoot, butFactorial, butSquare, butOneDividedBy, - butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary, butln, butMod; // Add butMod button - -======= butEqual, butCancel, butSquareRoot, butSquare, butOneDividedBy,butFactorial, butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary, butln, butMod; ->>>>>>> master + private final Calculator calc; private final String[] buttonValue = {"0", "1", "2", "3", "4", "5", "6", @@ -97,15 +92,8 @@ public UI() throws IOException { butrate = new JButton("x%"); butabs = new JButton("abs(x)"); butCancel = new JButton("C"); -<<<<<<< HEAD - butBinary = new JButton("Bin"); - butMod = new JButton("%"); // Add the mod button - -======= butBinary = new JButton("Bin"); butMod = new JButton("%"); // Add the mod button - ->>>>>>> master calc = new Calculator(); } @@ -143,11 +131,6 @@ public void init() { butCancel.setFont(font); butBinary.setFont(font); butMod.setFont(font); // Set font for the mod button -<<<<<<< HEAD - -======= - ->>>>>>> master panel.add(Box.createHorizontalStrut(100)); panelSub1.add(text); panel.add(panelSub1); @@ -165,14 +148,9 @@ public void init() { panelSub3.add(but[6]); panelSub3.add(Box.createHorizontalStrut(15)); panelSub3.add(butMultiply); -<<<<<<< HEAD - panelSub3.add(butDivide); - panelSub3.add(butMod); // Add the mod button here -======= panelSub3.add(butDivide); panelSub3.add(butMod); // Add the mod button here ->>>>>>> master panel.add(panelSub3); panelSub4.add(but[7]); @@ -227,10 +205,7 @@ public void init() { butrate.addActionListener(this); butabs.addActionListener(this); butMod.addActionListener(this); // Add action listener for the mod button -<<<<<<< HEAD -======= ->>>>>>> master butBinary.addActionListener(this); butEqual.addActionListener(this); @@ -318,20 +293,12 @@ public void actionPerformed(ActionEvent e) { if (source == butabs) writer(calc.calculateMono(Calculator.MonoOperatorModes.abs, reader())); -<<<<<<< HEAD - - if (source == butMod) { - writer(calc.calculateBi(Calculator.BiOperatorModes.mod, reader())); - text.replaceSelection(butMod.getText()); - } // Handle the mod button -======= if (source == butMod) { // Handle the mod button function writer(calc.calculateBi(Calculator.BiOperatorModes.mod, reader())); text.replaceSelection(butMod.getText()); } ->>>>>>> master if (source == butEqual) writer(calc.calculateEqual(reader())); From 633e73360665590d5d7e6dc74c4c626c0b1580f1 Mon Sep 17 00:00:00 2001 From: AYJ_69 <86646606+ayj69@users.noreply.github.com> Date: Mon, 4 Sep 2023 18:18:19 +0800 Subject: [PATCH 27/37] Create eslint.yml --- .github/workflows/eslint.yml | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/eslint.yml diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml new file mode 100644 index 0000000..7492692 --- /dev/null +++ b/.github/workflows/eslint.yml @@ -0,0 +1,50 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# ESLint is a tool for identifying and reporting on patterns +# found in ECMAScript/JavaScript code. +# More details at https://github.com/eslint/eslint +# and https://eslint.org + +name: ESLint + +on: + push: + branches: [ "master" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "master" ] + schedule: + - cron: '43 3 * * 4' + +jobs: + eslint: + name: Run eslint scanning + runs-on: ubuntu-latest + permissions: + contents: read + security-events: write + actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Install ESLint + run: | + npm install eslint@8.10.0 + npm install @microsoft/eslint-formatter-sarif@2.1.7 + + - name: Run ESLint + run: npx eslint . + --config .eslintrc.js + --ext .js,.jsx,.ts,.tsx + --format @microsoft/eslint-formatter-sarif + --output-file eslint-results.sarif + continue-on-error: true + + - name: Upload analysis results to GitHub + uses: github/codeql-action/upload-sarif@v2 + with: + sarif_file: eslint-results.sarif + wait-for-processing: true From 279cf10f6ab9a307c95723e1b1c90042a9a5361f Mon Sep 17 00:00:00 2001 From: ang yong jie Date: Mon, 4 Sep 2023 18:20:51 +0800 Subject: [PATCH 28/37] edit the factiruo button description --- src/simplejavacalculator/UI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index a9e6586..db30842 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -97,7 +97,7 @@ public UI() throws IOException { butDivide = new JButton("/"); butEqual = new JButton("="); butSquareRoot = new JButton("sqrt"); - butFactorial = new JButton("!"); + butFactorial = new JButton("Factorial!"); butSquare = new JButton("x*x"); butOneDividedBy = new JButton("1/x"); butCos = new JButton("Cos"); From e3f163d46ea61b576289b7c21af41a906662983a Mon Sep 17 00:00:00 2001 From: AYJ_69 <86646606+ayj69@users.noreply.github.com> Date: Mon, 4 Sep 2023 18:32:38 +0800 Subject: [PATCH 29/37] Create pmd.yml --- .github/workflows/pmd.yml | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/pmd.yml diff --git a/.github/workflows/pmd.yml b/.github/workflows/pmd.yml new file mode 100644 index 0000000..9d2c45e --- /dev/null +++ b/.github/workflows/pmd.yml @@ -0,0 +1,43 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: pmd + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + schedule: + - cron: '36 16 * * 1' + +permissions: + contents: read + +jobs: + pmd-code-scan: + permissions: + contents: read # for actions/checkout to fetch code + security-events: write # for github/codeql-action/upload-sarif to upload SARIF results + actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + - name: Run PMD + id: pmd + uses: pmd/pmd-github-action@967a81f8b657c87f7c3e96b62301cb1a48efef29 + with: + rulesets: 'rulesets/java/quickstart.xml' + sourcePath: 'src/main/java' + analyzeModifiedFilesOnly: false + - name: Upload SARIF file + uses: github/codeql-action/upload-sarif@v2 + with: + sarif_file: pmd-report.sarif From 5d373a12cc5c1b30622bb38fcc32946e0a821ce4 Mon Sep 17 00:00:00 2001 From: AYJ_69 <86646606+ayj69@users.noreply.github.com> Date: Mon, 4 Sep 2023 18:38:33 +0800 Subject: [PATCH 30/37] Create codeql.yml --- .github/workflows/codeql.yml | 82 ++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..3f037a6 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,82 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ "master" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "master" ] + schedule: + - cron: '45 0 * * 4' + +jobs: + analyze: + name: Analyze + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners + # Consider using larger runners for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'java' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ] + # Use only 'java' to analyze code written in Java, Kotlin or both + # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{matrix.language}}" From 70e156ab347b431bf790db4dbfdf66dc161a9d6d Mon Sep 17 00:00:00 2001 From: AYJ_69 <86646606+ayj69@users.noreply.github.com> Date: Mon, 4 Sep 2023 18:42:22 +0800 Subject: [PATCH 31/37] Delete .github/workflows/codeql.yml --- .github/workflows/codeql.yml | 82 ------------------------------------ 1 file changed, 82 deletions(-) delete mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index 3f037a6..0000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,82 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: [ "master" ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ "master" ] - schedule: - - cron: '45 0 * * 4' - -jobs: - analyze: - name: Analyze - # Runner size impacts CodeQL analysis time. To learn more, please see: - # - https://gh.io/recommended-hardware-resources-for-running-codeql - # - https://gh.io/supported-runners-and-hardware-resources - # - https://gh.io/using-larger-runners - # Consider using larger runners for possible analysis time improvements. - runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} - timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'java' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ] - # Use only 'java' to analyze code written in Java, Kotlin or both - # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 - with: - category: "/language:${{matrix.language}}" From 2a34b7c0581c20d418c68b939d61d9632f110ad5 Mon Sep 17 00:00:00 2001 From: AYJ_69 <86646606+ayj69@users.noreply.github.com> Date: Mon, 4 Sep 2023 18:43:22 +0800 Subject: [PATCH 32/37] Delete .github/workflows/eslint.yml --- .github/workflows/eslint.yml | 50 ------------------------------------ 1 file changed, 50 deletions(-) delete mode 100644 .github/workflows/eslint.yml diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml deleted file mode 100644 index 7492692..0000000 --- a/.github/workflows/eslint.yml +++ /dev/null @@ -1,50 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. -# ESLint is a tool for identifying and reporting on patterns -# found in ECMAScript/JavaScript code. -# More details at https://github.com/eslint/eslint -# and https://eslint.org - -name: ESLint - -on: - push: - branches: [ "master" ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ "master" ] - schedule: - - cron: '43 3 * * 4' - -jobs: - eslint: - name: Run eslint scanning - runs-on: ubuntu-latest - permissions: - contents: read - security-events: write - actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Install ESLint - run: | - npm install eslint@8.10.0 - npm install @microsoft/eslint-formatter-sarif@2.1.7 - - - name: Run ESLint - run: npx eslint . - --config .eslintrc.js - --ext .js,.jsx,.ts,.tsx - --format @microsoft/eslint-formatter-sarif - --output-file eslint-results.sarif - continue-on-error: true - - - name: Upload analysis results to GitHub - uses: github/codeql-action/upload-sarif@v2 - with: - sarif_file: eslint-results.sarif - wait-for-processing: true From 0a8468be501cd8fe69fa1517c17c91bcbd03d5a9 Mon Sep 17 00:00:00 2001 From: AYJ_69 <86646606+ayj69@users.noreply.github.com> Date: Mon, 4 Sep 2023 18:43:33 +0800 Subject: [PATCH 33/37] Delete .github/workflows/pmd.yml --- .github/workflows/pmd.yml | 43 --------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 .github/workflows/pmd.yml diff --git a/.github/workflows/pmd.yml b/.github/workflows/pmd.yml deleted file mode 100644 index 9d2c45e..0000000 --- a/.github/workflows/pmd.yml +++ /dev/null @@ -1,43 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. - -name: pmd - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - schedule: - - cron: '36 16 * * 1' - -permissions: - contents: read - -jobs: - pmd-code-scan: - permissions: - contents: read # for actions/checkout to fetch code - security-events: write # for github/codeql-action/upload-sarif to upload SARIF results - actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - with: - java-version: '11' - distribution: 'temurin' - - name: Run PMD - id: pmd - uses: pmd/pmd-github-action@967a81f8b657c87f7c3e96b62301cb1a48efef29 - with: - rulesets: 'rulesets/java/quickstart.xml' - sourcePath: 'src/main/java' - analyzeModifiedFilesOnly: false - - name: Upload SARIF file - uses: github/codeql-action/upload-sarif@v2 - with: - sarif_file: pmd-report.sarif From c34c4d192153a0a3508da444bdf33ac074f9f4a7 Mon Sep 17 00:00:00 2001 From: AYJ_69 <86646606+ayj69@users.noreply.github.com> Date: Mon, 4 Sep 2023 18:45:15 +0800 Subject: [PATCH 34/37] Create devskim.yml --- .github/workflows/devskim.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/devskim.yml diff --git a/.github/workflows/devskim.yml b/.github/workflows/devskim.yml new file mode 100644 index 0000000..99f2ea4 --- /dev/null +++ b/.github/workflows/devskim.yml @@ -0,0 +1,34 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: DevSkim + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + schedule: + - cron: '32 13 * * 0' + +jobs: + lint: + name: DevSkim + runs-on: ubuntu-20.04 + permissions: + actions: read + contents: read + security-events: write + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Run DevSkim scanner + uses: microsoft/DevSkim-Action@v1 + + - name: Upload DevSkim scan results to GitHub Security tab + uses: github/codeql-action/upload-sarif@v2 + with: + sarif_file: devskim-results.sarif From 44297d7031933ca74f05cc06ea3c837bbb972800 Mon Sep 17 00:00:00 2001 From: ang yong jie Date: Mon, 4 Sep 2023 18:45:53 +0800 Subject: [PATCH 35/37] edit the factorial button again --- src/simplejavacalculator/UI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index db30842..011151d 100644 --- a/src/simplejavacalculator/UI.java +++ b/src/simplejavacalculator/UI.java @@ -97,7 +97,7 @@ public UI() throws IOException { butDivide = new JButton("/"); butEqual = new JButton("="); butSquareRoot = new JButton("sqrt"); - butFactorial = new JButton("Factorial!"); + butFactorial = new JButton("factorial!"); butSquare = new JButton("x*x"); butOneDividedBy = new JButton("1/x"); butCos = new JButton("Cos"); From 5aa88b1bc34fd0021fc2262e140aacea5e18661d Mon Sep 17 00:00:00 2001 From: ang yong jie Date: Tue, 5 Sep 2023 09:51:07 +0800 Subject: [PATCH 36/37] regenerate the build file so it can build --- build/built-jar.properties | 4 ++-- nbproject/build-impl.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/built-jar.properties b/build/built-jar.properties index 5900276..0e08cad 100644 --- a/build/built-jar.properties +++ b/build/built-jar.properties @@ -1,4 +1,4 @@ -#Fri, 11 Aug 2023 22:35:15 +0800 +#Tue, 05 Sep 2023 09:42:27 +0800 -C\:\\Users\\Clarr\\OneDrive\\Documents\\1.\ Software\ Engineering\ 2020-2022\\A)\ SE\ Studies\\Y3\\S3\\SCC\\Assign\\Assign_2\\SimpleJavaCalculator= +C\:\\Users\\angyo\\Documents\\homework\\cicd\\cyfork\\branch\ 2\\Simple-Java-Calculator= diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml index 93099f5..b6df91b 100644 --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -46,8 +46,8 @@ is divided into following sections: - - + + From 387d6cd081b4522df89448e2d7735d454211b268 Mon Sep 17 00:00:00 2001 From: SiowYenC Date: Tue, 5 Sep 2023 11:18:32 +0800 Subject: [PATCH 37/37] export, rebuild ant --- bin/simplejavacalculator/UI.class | Bin 9145 -> 9154 bytes build.xml | 139 ++++++++++++++---------------- build/built-jar.properties | 4 +- 3 files changed, 69 insertions(+), 74 deletions(-) diff --git a/bin/simplejavacalculator/UI.class b/bin/simplejavacalculator/UI.class index 0cd229b0522f6e38886f14fb9243aa82aad1602f..545fe04b1f8087efec80080970ea49cf95275737 100644 GIT binary patch delta 23 ecmdn#e#m`;2s;;7T4HiZeo1aANU diff --git a/build.xml b/build.xml index 69188f9..c947f0c 100644 --- a/build.xml +++ b/build.xml @@ -1,73 +1,68 @@ - - - - - - - - - - - Builds, tests, and runs the project SimpleJavaCalculator. - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/built-jar.properties b/build/built-jar.properties index 0e08cad..6282f6d 100644 --- a/build/built-jar.properties +++ b/build/built-jar.properties @@ -1,4 +1,4 @@ -#Tue, 05 Sep 2023 09:42:27 +0800 +#Tue, 05 Sep 2023 11:04:50 +0800 -C\:\\Users\\angyo\\Documents\\homework\\cicd\\cyfork\\branch\ 2\\Simple-Java-Calculator= +C\:\\Users\\Clarr\\git\\Simple-Java-Calculator=