এই প্রোগ্রামে ধরলাম randomNumbers অনুযায়ী number আসলো ২, সেটার সাথে ১ যোগ করলাম।এখন frequency arrayতে ৩ নাম্বার spot এ সেই নাম্বারটা থাকল। কিন্তু তাহলে আবার ++ সাইন দিয়ে এটাকে ১ বাড়ান হল কেন? আর arrayতে by default কি মান ১ থাকে না ০ থাকে।

package javaapplication1;
import java.security.SecureRandom;
public class RollDice {

    public static void main(String[] args) {

        SecureRandom randomNumbers = new SecureRandom();
        int[] frequency = new int[7];

        for (int roll = 1; roll <= 600000; roll++) {
             ++frequency[1 + randomNumbers.nextInt(6)];             
        }
        System.out.printf("%s%10s%n", "Face", "Frequency");

        for (int face = 1; face < frequency.length; face++) 
        {
            System.out.printf("%4d%10d%n", face, frequency[face]);
        }        
    }    
}

asked 19 Mar '17, 08:37

Kawsar_Ahmed's gravatar image

Kawsar_Ahmed
813


"এখন frequency arrayতে ৩ নাম্বার spot এ সেই নাম্বারটা থাকল।" আপনার এই বাক্যটি কি ঠিক আছে?

না! কারণ, ২-এর সাথে ১ যোগ করে আমরা কেবল ৩ নম্বর 'স্পট' বাছাই করেছি; এই স্পটে কী মান রাখব তা কিন্তু বলিনি।

ধরা যাক, আমি ৩ নম্বর স্পটে ১০০ রাখতে চাই; তাহলে কোড লিখব এইভাবে:

frequency[3] = 100; //here, it is assumed that '1 + randomNumbers.nextInt(6)' evaluates to 3

এখন ধরা যাক, আমি ৩ নম্বর স্পটে যেই সংখ্যা আছে তার মান ১ বাড়াতে চাই; তখন লিখব এভাবে:

frequency[3]++;
//or
++frequency[3];

এই কোডে প্রথমে ৭টি 'স্পট' বরাদ্দ করা হয়েছে। এরপর ফর লুপের প্রতি ধাপে ০ থেকে ৫-এর মধ্যে একটি সংখ্যা জেনারেট করা হচ্ছে। এর সাথে ১ যোগ করে পাচ্ছি ১ থেকে ৬-এর মধ্যে একটি সংখ্যা। এবং তারপর সেই সংখ্যার জন্য বরাদ্দ করা স্পটে রক্ষিত সংখ্যার মান ১ করে বাড়ানো হচ্ছে।

নিচের কোডটি দেখুন:

class t
{
    public static void main(String args[])
    {
        int arr[] = new int[10];
        for (int x : arr)
            System.out.print(x + " ");
        System.out.println();
        arr[2] = 1;
        System.out.println(arr[2]);
        ++arr[2];
        System.out.println(arr[2]);
    }
}

আর হ্যাঁ, সবার প্রথমে ০ নাম্বার স্পট, শেষেরটি ৬ নাম্বার।

permanent link

answered 19 Mar '17, 12:15

mahrahat's gravatar image

mahrahat
8727

edited 19 Mar '17, 12:25

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×210
×56

question asked: 19 Mar '17, 08:37

question was seen: 480 times

last updated: 19 Mar '17, 12:25