Hello Developer, Hope you guys are doing great. Today at Tutorial Guruji Official website, we are sharing the answer of How to fix my output of number of runs without wasting too much if your time.
The question is published on by Tutorial Guruji team.
The question is published on by Tutorial Guruji team.
I want to print out how many times Math.random() was less that 0.5 and how many thimes it was bigger that 0.5. So I use int sum variable and increase it each time as you can see in the code:
package shapes; public class Main { public static void main(String[] args) { for (int i=1; i<6; i++){ int sum1=0; if(Math.random()<0.5){ System.out.println("head"); System.out.println(Math.random()); sum1++; System.out.println("sum of head"+sum1); }else { int sum2=0; System.out.println("tail"); System.out.println(Math.random()); sum2++; System.out.println("sum of tail"+sum2); } } } }
My output is :
tail 0.2420579681161944 sum of tail1 head 0.712979930711983 sum of head1 tail 0.28072067461911476 sum of tail1 head 0.5897197845744805 sum of head1 head 0.6735600614954825 sum of head1
I want the output to be like this :
tail 0.2420579681161944 head 0.712979930711983 tail 0.28072067461911476 head 0.5897197845744805 head 0.6735600614954825 sum of head 3 sum of tail 2
I actually tried to put sum1++ and sum2++ in different places but did not worked . thanks
Answer
You reset sum to 0 each time in the for loop. Move your sums variable declaration out of the loop.
int sum1=0; int sum2=0; for (int i=1; i<6; i++){ double val = Math.random(); if(val<0.5){ sum1++; }else { sum2++; } System.out.println("sum of head "+sum1); System.out.println("sum of tail "+sum2); }
We are here to answer your question about How to fix my output of number of runs - If you find the proper solution, please don't forgot to share this with your team members.