From fb738c5a0a8a8e2645e32a732846d1f12b7e45df Mon Sep 17 00:00:00 2001 From: tusharanand29 Date: Sun, 15 Dec 2019 21:25:44 +0530 Subject: [PATCH] Splitwise Machine coding --- Main.class | Bin 0 -> 4155 bytes Main.java | 378 +++++++++++++++++++++++++++++++++++++++++++++++++ Split Wise.zip | Bin 0 -> 2919 bytes User.class | Bin 0 -> 1801 bytes User.java | 105 ++++++++++++++ 5 files changed, 483 insertions(+) create mode 100644 Main.class create mode 100644 Main.java create mode 100644 Split Wise.zip create mode 100644 User.class create mode 100644 User.java diff --git a/Main.class b/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..3c098f19c6865877ad72572442571637d662af6b GIT binary patch literal 4155 zcmbVPZERE58GcTDukW>E635{N9BgV*T0%&i;;x1U5(puHX}*e+ln`3tBnAwQ?Z!@l zuA`J?gY_F#-9|MD6tU&kHkFFN#>l>~nCQ=)ZBo5SuGlV>_q4&-uV$*&NPiq(!xC`jf$UsKG|KEdV zP4?t9u_HP>5KR!zlRlU{(v%!Z#iKbtc+IpU0!!s~SDLg)7w2!~x5Q+1C=yEulvU>O zRl1tyvy$R)a)efFi%Gt1tyJ+#vK**^Uqi-$5j>;ehyzFA7g(~8$SotW_+WI{fn#`9 zK=`Eac?X`u7aTZ_=N&kK7c`u7;ENa)SRQKYZfpr{^=%D>J9mY)basW>+kEZYe2uN` zU2UE6lIQPnD!ij{S96&0BDs(^eTnw_l1HLxpIi|rsPhRFwk3UAB7E$DXqpkm=Xc=C z(s&4znD&okV)5GWKqQfnFsE=@dixatcXJ{W9rm>){l4UWUosUPj>uO?`|2Ec5idFL zvUKYeyz0P41RSUbL)f{H5&^aO@vg=e2VTSL4yNfN0$NA&uBK+`;Re*n1G^iWIC)e~ z6iNC#oc8`hQ5j~Xd0viA_J#=9+ag`wFi$UhES-rC(dXm{wT*0u$C9-jGK(1a(Z~=L zN=<|3FB8yAwKxs2MpCJ0Vvtc;xpnm&X_9+z;?z{$vAN-1=k-i7n|uO`EAKo=MAfu` zmghre;@i?A{b@6Q<(W`kjO+`WsUG5M9*|+7ry|4YD5rOUCZC>saI?Ouu|!I8S|DF) zme`P7ogsE<&TLXUcSGi)mWUqBmI6ig} z1rx9+8<$m0j$xBh@2OfAptPFnSE2M=CfKro$A7A5U;j8j(ADa{hp4L$3W zM#0c$ozk;T<@QVIlw#=qzMwiPcm86i-t!2|=s#ds-9(_%MwMX=nDSnKR;At4`0Y3f z`FyTL6DXRcU<(}w+87%hScF|DMJL0mn?cq|cY9e8pTu^Kt>{M>gPiTh0sb7Ld=hb1 z(WFVsL$FPeKie!Vl9c((+(4Op{t6OQpphb0&KyN+`1E$#arXbE$gMCi7IO5dp*jc8 zqhW@mwU(gGq{MsBIT#PxW;kP@%y4Gd7$}nB_j805&m(LnTr~6;344x&9VcNYNZ3gd zc7jBlX2iV6Kg3Rx($~<1GmM)zNZp%A;A?D#XW5+2;B}nC*D>}#5VzzOY{EZH9D7xc zxJ`^LmG-=6*=VU(8oV;8C%i$$P^!E#tuJ^Dg?DjcDE=x#33&Y%uz5DuT}~#r!9*%? zxhQ$1P)cF0!XOvT8c?LvkE3Po))?v+V3`OKDhq02nb&63=35p2J&J zo`9i}OqFHw0vZ<(V5rk%dS=L+qcDenpfZluxnN^xSO8{1m~5J;SvKXpS+#j!qpGCS zQ1UX_fMPoKJG%QJYu@i!r9UE**U99^WbzX-`6&+LuXq-J!$tg^JbpxuKO?vQz%TGG zlSQwrd?m1EQ=DwF=G{ckO@zp#gV38;D$Qn_Mmj|tKxbF$G(i_$> z;W6iRid&J5%2%hm^+{&6O*s#H%@wQ|$7hC3Jr9>#R|0kR8n^ulD#q~#bLw#GYC!gv zMQ+_{3PncIHQZlUtOcF?HJqAJ)HephT}*M%tsBljc+^RfKbA73KwXKu#IPY*-S|Z8#y`bgM$A(}6MdpY^otc7SBd>1C}Lu>I4rh_A<-d{ zTpi--Fn=nForMatrix[j][i]) + { + System.out.println("User"+j+" owes "+"User"+i+": "+(Matrix[i][j]-Matrix[j][i])); + empty=true; + } + else if(Matrix[i][j]' command is given + It shows the complete description of particular user. + **/ + + public static void showUserTransactionTable(int [][] Matrix , String userId ) + { + int indexUser = Integer.parseInt(userId.substring(1)); /* Getting Payer's ID */ + + int net_amount=0; + boolean empty = false; /* Variable for checking if there is atleast one transaction otherwise + 'No Balances' will be displayed + */ + + for(int i=1;iMatrix[i][indexUser]) + { + System.out.println("User"+i+" owes "+"User"+indexUser+": "+(Matrix[indexUser][i]-Matrix[i][indexUser])); + empty=true; + } + else if(Matrix[indexUser][i] */ + { + String userId = words[1]; + showUserTransactionTable(Matrix,userId); + } + + else + { + /** + OTHER OPERATIONS LIKE: + 1) EXPENSE u1 1000 4 u1 u2 u3 u4 EQUAL + 2) EXPENSE u4 1200 4 u1 u2 u3 u4 PERCENT 40 20 20 20 + 3) EXPENSE u1 1250 2 u2 u3 EXACT 370 880 + + **/ + + int shareExact[]; /* Array to collect 'EXACT' */ + + int sharePercent[]; /* Array to collect 'EXACT' */ + + String payer = words[1]; /* user who pays the amount */ + + int amount = Integer.parseInt(words[2]); /* Amount of money paid */ + + int noUser=Integer.parseInt(words[3]); /* Number of user involved in the transction */ + + String userArr[] = new String[noUser]; /* Array of users involved Transction */ + + + int i=4; /* Because we will get users from 4th index */ + + for(i=4 ; i<4+noUser ;i++) + { + userArr[i-4]=words[i]; /* To put the elements in userArr from 0th index */ + } + + String type = words[i++]; /* Options Like : 'EQUAL' 'SHARE' 'EXACT' */ + + + if(type.equals("EQUAL")) + { + updateTransctionTableEqual(Matrix,payer, userArr,amount); + + } + + else if(type.equals("PERCENT")) + { + sharePercent=new int[noUser]; + + for(int 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 EU$CHdJpcdz literal 0 HcmV?d00001 diff --git a/User.class b/User.class new file mode 100644 index 0000000000000000000000000000000000000000..52eea23cd7f3e2c465ea17f5c25fff44dfbaf073 GIT binary patch literal 1801 zcmaJ>ZBr9x6g`{lW;g3rX#g>b6|HTA9OgFl3sUocrv(=eh5@|GaziH-IU4CQhS}#279K%n5ug za9QArj(HP03OW`{BvCN%jmSlTs{+>yTo*>szzqZ68dx%U@20@Az%7B5B)-F{oYoAi zo4Ab)dAK8RS71|g_jG)(;|B$LYsYPFc@+hzrN_<_Cs%d+?c7?>^!)9M3JkaAc-6?R zH6GP{SAps~H43d z7L!lZTS0U%3gv3226L_6YL?xrUX-z8})3_iASR^StXPX#_hM!`VTy;k5= zbE}SDsn-;Y^fq+9ZEUeHs*HX;j|f-n4tx-neHw zfh&b_A_|7v@w|F&g^L)_f$P*5YcT5Q`)aOYLrC-=$*RvKALE+_Xo$(cc#6r)BFV8u zl9QuM%J3*H{yASLnBZxVe1$S?zlLHfuMiW63#bCxa~c(#BOXVBI06;N=q!!H)C}ST zpGL{xP&zJ8Qi@B>eu>zhd)E_@@+^^qB1-iARIQgfP7(*(hZ^st3W<~NLsfgJd6KwS z9qJjDA7dg3dxE8RYc(V71-5mDOfF+T{=VL{`IpF_Ba_?Ok00;#KTrMwnOyOHe6^Q< zjr{9mPVbHHU&N!S{P6+_^}%0AyoJ8`8phIFBq`0*p%4~rAwCFk_~x$m2(=RfW{3eA zQXlT;EO$8Ps7$2@yf>@vUL4#{oz?8L7GlUIci5f`anw$$Ax64sXK{$lU4g+5^#E4+ z4OznttYeGc