From 182006f965a4f9bf3ce00f7d966a23f99b513d80 Mon Sep 17 00:00:00 2001 From: prachi0716 Date: Thu, 16 Apr 2026 13:51:32 -0400 Subject: [PATCH 1/2] Added changes --- .DS_Store | Bin 0 -> 6148 bytes java/src/main/java/Bins.java | 44 ++++++++++++++++++++++++-- java/src/main/java/Dice.java | 25 ++++++++++++++- java/src/main/java/Simulation.java | 45 ++++++++++++++++++++++++++- java/target/classes/Bins.class | Bin 0 -> 1183 bytes java/target/classes/Dice.class | Bin 0 -> 832 bytes java/target/classes/Simulation.class | Bin 0 -> 2380 bytes 7 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 .DS_Store create mode 100644 java/target/classes/Bins.class create mode 100644 java/target/classes/Dice.class create mode 100644 java/target/classes/Simulation.class diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ae305ddeac58d4fe8f5ba3bbed59432e4ae0fba8 GIT binary patch literal 6148 zcmeHK%}T>S5Z<-XrW7Fug&r5Y7Obrl#Y>3w1&ruHr6#0kG-gYaHiuHkSzpK}@p+ut z-H63{6|pn0`_1oe_JiyXV~l&#=zuYYF=j(U6xeTXnl`H|<;hK^A@<o3*BUyNInnszb^>x5**o~pnn$NraPFwVPM~k+YA9q1N z?DZFmhP}JDe{w#2N}f~sq6y`|w~}px6}*D-xt^InNfVjggRjc3@(76mVt^PR2G*AW zb0*l$^`(GTP7DwOKQMs%gMfzU8Z0%ctphr|K4aWML;)S&5{SZ}Yp~P^5fH9R0d*-i zPYkZh!7ognYp~R)%NbWQ!#HN<>hZ$W?BEwFopDzq^~3-%u*^VBn+~4;XYk9ceB>{e zkVOm-1OJQxZVmi_2a7Ui>$m0MSu3F3K|{g35)}~8mo5Qd;6Bn)K^+&UL!N7})QF>? SUzG#WML-ck9Wn3=4154Es7gQp literal 0 HcmV?d00001 diff --git a/java/src/main/java/Bins.java b/java/src/main/java/Bins.java index b9da83e..5f43ef0 100644 --- a/java/src/main/java/Bins.java +++ b/java/src/main/java/Bins.java @@ -1,4 +1,44 @@ - public class Bins { + private int min; + private int max; + private int[] bins; + + public Bins(int min, int max) { + if (min > max) { + throw new IllegalArgumentException("Invalid range"); + } + this.min = min; + this.max = max; + bins = new int[max - min + 1]; + } + + public void incrementBin(int value) { + if (value < min || value > max) { + throw new IllegalArgumentException("Out of range"); + } + bins[value - min]++; + } + + public int getBin(int value) { + if (value < min || value > max) { + throw new IllegalArgumentException("Out of range"); + } + return bins[value - min]; + } + + public int getTotal() { + int total = 0; + for (int count : bins) { + total += count; + } + return total; + } + + public int getMin() { + return min; + } -} + public int getMax() { + return max; + } +} \ No newline at end of file diff --git a/java/src/main/java/Dice.java b/java/src/main/java/Dice.java index 2283c96..05cb679 100644 --- a/java/src/main/java/Dice.java +++ b/java/src/main/java/Dice.java @@ -1,4 +1,27 @@ +import java.util.Random; + public class Dice { + private int numberOfDice; + private Random random; + + public Dice(int numberOfDice) { + if (numberOfDice <= 0) { + throw new IllegalArgumentException("Number of dice must be > 0"); + } + this.numberOfDice = numberOfDice; + this.random = new Random(); + } + // Toss all dice and return sum + public int tossAndSum() { + int sum = 0; + for (int i = 0; i < numberOfDice; i++) { + sum += random.nextInt(6) + 1; // 1–6 + } + return sum; + } -} + public int getNumberOfDice() { + return numberOfDice; + } +} \ No newline at end of file diff --git a/java/src/main/java/Simulation.java b/java/src/main/java/Simulation.java index 73d86e8..14cd44b 100644 --- a/java/src/main/java/Simulation.java +++ b/java/src/main/java/Simulation.java @@ -1,5 +1,48 @@ public class Simulation { + private int numberOfDice; + private int numberOfTosses; + private Dice dice; + private Bins results; + public Simulation(int numberOfDice, int numberOfTosses) { + this.numberOfDice = numberOfDice; + this.numberOfTosses = numberOfTosses; -} + int min = numberOfDice; + int max = numberOfDice * 6; + + dice = new Dice(numberOfDice); + results = new Bins(min, max); + } + + public void runSimulation() { + for (int i = 0; i < numberOfTosses; i++) { + int sum = dice.tossAndSum(); + results.incrementBin(sum); + } + } + + public void printResults() { + + System.out.println("Simulation of " + numberOfDice + " dice tossed for " + numberOfTosses + " times."); + + int total = results.getTotal(); + + for (int i = results.getMin(); i <= results.getMax(); i++) { + int count = results.getBin(i); + double percent = (double) count / total; + + int stars = (int) (percent * 100); + String bar = "*".repeat(stars); + + System.out.printf("%2d : %8d: %.2f %s%n", i, count, percent, bar); + } + } + + public static void main(String[] args) { + Simulation sim = new Simulation(2, 1_000_000); + sim.runSimulation(); + sim.printResults(); + } +} \ No newline at end of file diff --git a/java/target/classes/Bins.class b/java/target/classes/Bins.class new file mode 100644 index 0000000000000000000000000000000000000000..54be45f239127ce9bedb8743bbb950a2afbdb8cd GIT binary patch literal 1183 zcma)4%}x_h6#nka^p`1=0);ZIRFv9|+Nujp1WD9r(xk`&(uC-OX*<@zVM^+h@BnUI z`2-{;ZrqqaNYvooxA6tU@6J?e3=5lP?z#7#bH1N*fBgD#3g8~@#GnXhj~wq!44OcC z$J)1QuH|)W>#ZHT?F*>8jwc}MGO`Ys++wnT@|-8p6~}Y@Re?ykUavHH`MB4ylTb0P zBZ&#tlq<~`CIuEpo$Ib^cP;l}zdP8qJ^#r;+urk?o)^cIK&tNTTdvb7_DO=R(wLF0 zvH~;Z#;C`J-*>$3a;2Goz?_ZPX%RNv$d^ zz-3BRIY1SPRL)3|x`UOfxkj0h#2CLickh`g^DE{FQbzs*QeTnY%4AM3{oOQB_J zku&o~N8A3EJcjX^$tnu`USea}PUD)OrBiG>$HoOVE+fTzpcppC0wejW1f)a|Nm>dC z1LF{9ELUR?Lf-LB;L4Do&;AO}Ov60F>>Z>; zlb9z!1=9hmY}oOfm5EYdi{wJIw0tkus3Ek-r3T5M^gj%$pO_i?GahK4CHfrE=l?=3 zogYuW6o%hBLm3zcp|sGJK^^f6@B?=)icK0n5)!nD7?SQfz!awrGYt%;D_8yv z7p~m6F|m@^MECv_|AW@|UZ^!B_s+TJ-1mLXx%~X|?K^-6xNATYNIdrYo`Hlw?!bNH zHUc*sHgLU5ve zXFv#NG@Zmw&vUk%`zEqjmAVCiLUoR#@H_F?4~LtzZW;n>7M74SuyNMmf5ax%kZ z3kFgG*|r~gbH|r%FJRC4cGP!+t~>T+yf{q6ulxzSZOgf^?Mx?j`>&t5hl{)!N0Z5R zIOt3{D7M^^MmH?n#4Q0M^p4_I$nnY{aisc0mIP Dnt+ej literal 0 HcmV?d00001 diff --git a/java/target/classes/Simulation.class b/java/target/classes/Simulation.class new file mode 100644 index 0000000000000000000000000000000000000000..bb9090524e76cd4bd94cc0d57f9016ab54d8d472 GIT binary patch literal 2380 zcmaJ?YjYD-7=BJJyKUIgHZ-9%Ev7&*4bli=fnK1r6&p<{l3I*-+a}v~X|fwPn+l5H z1;s1+(Ql43&hWucIyPls^auD${10C6Ih$x&+c7iQbM`&&`<~~0-pl^_*Zp4roWNHq zd;+1YS*jLw*R(Aa0fCMy`kJ09>eg~oGR}LE%)=K>5`4JRv}w0dBLP5l9YxgBwWq3@{Un5ESDI`qDhsCRBX$-dVY0QFE#Vc{AGZ@YR?3ey^%l|qHWS<{lDjD}g9uZuj6WQNnqM2=DL*Mf_rEg8Z* z7F4{jl@SlJhD&&n_Ks0DbV&;Bw}WcIO9EX3#|rV0_`t~mA4A8M;sccdf_NFPs(3}9 zv)Kh{%Qcn_N5gA)o$;>e#i}v4EgMdrHA!Zf z%^*v{VMX{Cbw~C`lZ8f2u)|8aEZ=BiGmggT;DR6RlM^9!U0gn{X&6MO+`X;gxa{zN z?kv;)o*j&3JD6;TP}Z&z(m7MMXnV8Kh9nrWI%(T(#dY-Ztl_TM1$O%f_)x_yfrCxB zrnP3T8mT(2deNWL^RDd>(l|a6_I!yFBY?=YmBxlc)tao2qc=J$L*!Kh|38ZmlMV)#FuP`64xvll_8Fn zv}GC2R8g0+SjFc81KX(BDL55(1or*EDyy;11p1jrKl?BMpB&HJ`Q&i+R?c5<<)rmA zhzV`f-_5sgs2${bG`WHHWNaPbWbZnx%?7@aQ`F zfACx$;B!BlUk-o(uW98t-%a-&yda8po^^1*cH$s4j@K{301okuS9(B&x06tP)a}P( z-1%u6LxQ^iVX{gaV6Rh02HEc)yNhV@C&X$PSQn#WL!fKjJCg z8J73n$0$(48HuNcr^o8+%=legkXu50?sVVn*lqh%pgYioxz#(vO8EJRQbTq`rJrz4 z{Tcq8zxN(4XLEr*ZwYn>?m^GylpZx(!_uW&KG9oueC4}`-#6n-l6asOdl*HG5gsCy zDbhd8NY60B84_Ej{08Zi$(UgPgx`ogh5|}n><4h!W5Gx3v#==h)5i#GS_kOqDBhq< zp?v}lD)b^b3c>d$4hiu)GAscX)kebRy?O+?9zf)R;k6CCnK@j;RsP><7EqX4;758F zj<95g7(>d#7-hO?i|crY>n?h}!MJ3d-{iXw@8UhKEtK5m|6_d0H#yHf!x#7xJ%0m% C>kGsH literal 0 HcmV?d00001 From 43cde6c36d139adb74c21b250e447d5a4e3201f3 Mon Sep 17 00:00:00 2001 From: prachi0716 Date: Sun, 19 Apr 2026 10:27:16 -0400 Subject: [PATCH 2/2] Added changes --- .DS_Store | Bin 6148 -> 6148 bytes java/src/main/java/Dice.java | 3 +-- java/target/classes/Dice.class | Bin 832 -> 832 bytes 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.DS_Store b/.DS_Store index ae305ddeac58d4fe8f5ba3bbed59432e4ae0fba8..614204b30c7e10c666a979e9010cd08c54706e45 100644 GIT binary patch delta 551 zcmZoMXfc=|#>B!ku~2NHo+2aj#DLw41(=u_nJ4ow-l@+_E-OgN$xmWnU_6^tkds+l zVqkDzK!A~nnT3^&or9B$n}?T=UqDbuSWrYzR8&+ z07(^xr4|(fX$(CPk%>h`iFx(usZN!#If+TBIsSQ0`6VU!xgez=JFJ0OG0|OW+I|RTO8W4s6gEEA{z`!8_V?k*~|i*`aEsv$!#742MlnVuMr}qDMq5UEMh`|$#wf;Q z#tgB`mu~2NHo+2aD#DLwC4MbQb^RwLCe3s3MakBykJIlm|dz;xg_&I>; dHVblmXP(S2Vky7?1dI#}Oi-F-bA-qmW&m6q5+DEo diff --git a/java/src/main/java/Dice.java b/java/src/main/java/Dice.java index 05cb679..6777bb6 100644 --- a/java/src/main/java/Dice.java +++ b/java/src/main/java/Dice.java @@ -12,11 +12,10 @@ public Dice(int numberOfDice) { this.random = new Random(); } - // Toss all dice and return sum public int tossAndSum() { int sum = 0; for (int i = 0; i < numberOfDice; i++) { - sum += random.nextInt(6) + 1; // 1–6 + sum += random.nextInt(6) + 1; } return sum; } diff --git a/java/target/classes/Dice.class b/java/target/classes/Dice.class index 8d794855d6b4ef854ba62919a539138a4042197d..4ba4f76aa0d3b8fef17e31041c06d92a7281cf69 100644 GIT binary patch delta 59 zcmX@Wc7Sce7A8Rf1||kU26hG^22mibz#uaDC{vuQ1cMv{0|O5OBamcekOzu00NL6= Il8HeF0165QPyhe` delta 59 zcmX@Wc7Sce7A8SK1||j}26hHv22mibz#uyLC{vuQB!e6S0|O5OBamcekOzu00NL6= Il8HeF01EyFRsaA1