উদাহরণ সহ Scanner এবং Formatter ব্যবহার

Scanner এবং Formatter Class - জাভা আইও (Java.io Package) - Java Technologies

281

Formatter ক্লাস Java I/O প্যাকেজের একটি ক্লাস, যা ফরম্যাটেড আউটপুট তৈরি করার জন্য ব্যবহৃত হয়। এই ক্লাসটি প্রোগ্রামারদেরকে বিভিন্ন ধরনের ডেটা যেমন integers, floating point numbers, strings, ইত্যাদি নির্দিষ্ট ফরম্যাটে প্রিন্ট করার ক্ষমতা প্রদান করে। এটি C-এর printf ফাংশনের মতো কাজ করে এবং আপনাকে কাস্টম ফরম্যাটিং, সঠিক স্পেসিং এবং ফিলিং, প্রিসিশন নিয়ন্ত্রণ করার সুবিধা দেয়।

Formatter Class এর ব্যবহার:

Formatter ক্লাসটি সাধারণত আউটপুট স্ট্রিম যেমন Console, Files, বা String-এ ফরম্যাটেড ডেটা লেখার জন্য ব্যবহৃত হয়।

Formatter Class এর প্রধান বৈশিষ্ট্য:

  1. Format Specifiers:
    • %d, %s, %f ইত্যাদি স্পেসিফায়ার ব্যবহার করে আউটপুট ফরম্যাট করা যায়। উদাহরণস্বরূপ, %d ব্যবহার করে পূর্ণসংখ্যা এবং %s ব্যবহার করে স্ট্রিং আউটপুট করা যায়।
  2. Alignment and Padding:
    • Formatter ক্লাসের মাধ্যমে ডেটা সঠিকভাবে alignment এবং padding করা যায়। যেমন, right-align বা left-align করা, এবং নির্দিষ্ট সংখ্যক স্থান ফাঁকা রাখা।
  3. Precision:
    • ফ্লোটিং পয়েন্ট সংখ্যা এবং ডেটার প্রিসিশন নির্ধারণ করা যায়।
  4. Locale-Specific Formatting:
    • এটি বিভিন্ন locales অনুসারে ডেটা ফরম্যাট করতে পারে, যেমন currency, date, ইত্যাদি।

Formatter Class এর Syntax:

public class Formatter {
    public Formatter(String fileName);
    public Formatter(OutputStream out);
    public Formatter(Writer out);
    public String format(String format, Object... args);
    public void close();
}
  • format(String format, Object... args): এই মেথডটি একটি ফরম্যাট স্ট্রিং নেয় এবং এর মাধ্যমে আর্গুমেন্টগুলিকে ফরম্যাট করে।
  • close(): এটি Formatter ক্লাসের resources বন্ধ করার জন্য ব্যবহৃত হয়।

Formatter Class এর ফরম্যাট স্পেসিফায়ার:

  • %d: পূর্ণসংখ্যা (integer) প্রিন্ট করতে ব্যবহৃত হয়।
  • %s: স্ট্রিং (string) প্রিন্ট করতে ব্যবহৃত হয়।
  • %f: ভগ্নাংশ (floating point) সংখ্যা প্রিন্ট করতে ব্যবহৃত হয়।
  • %x: হেক্সাডেসিমাল (hexadecimal) সংখ্যা প্রিন্ট করতে ব্যবহৃত হয়।
  • %c: চর (character) প্রিন্ট করতে ব্যবহৃত হয়।
  • %e: সায়েন্টিফিক নোটেশন (scientific notation) প্রিন্ট করতে ব্যবহৃত হয়।

Formatter Class ব্যবহার করে Formatted Output উদাহরণ:

উদাহরণ 1: Integer, String, এবং Floating Point সংখ্যা ফরম্যাট করা

import java.util.Formatter;

public class FormatterExample {
    public static void main(String[] args) {
        Formatter formatter = new Formatter();

        // Integer, String, and Floating Point Numbers
        int age = 25;
        String name = "Alice";
        float balance = 1234.5678f;

        // Formatting the output
        formatter.format("Name: %s\nAge: %d\nBalance: %.2f", name, age, balance);

        // Output the formatted string
        System.out.println(formatter);
        
        // Close the formatter
        formatter.close();
    }
}

ব্যাখ্যা:

  • %s ব্যবহার করে String ফরম্যাট করা হয়েছে।
  • %d ব্যবহার করে integer ফরম্যাট করা হয়েছে।
  • %.2f ব্যবহার করে floating-point সংখ্যাটির প্রিসিশন ২ দশমিক পর্যন্ত ফরম্যাট করা হয়েছে।
  • formatter.format() মেথডটি আর্গুমেন্টগুলি নিয়ে একটি ফরম্যাট স্ট্রিং তৈরি করে।

আউটপুট:

Name: Alice
Age: 25
Balance: 1234.57

উদাহরণ 2: Number Alignment এবং Padding

import java.util.Formatter;

public class FormatterAlignmentExample {
    public static void main(String[] args) {
        Formatter formatter = new Formatter();

        // Integer and Floating-point numbers with padding
        int value1 = 123;
        int value2 = 4567;
        double value3 = 89.12;

        // Formatting with alignment and padding
        formatter.format("|%-10d|%10d|%10.2f|", value1, value2, value3);

        // Output the formatted string
        System.out.println(formatter);
        
        // Close the formatter
        formatter.close();
    }
}

ব্যাখ্যা:

  • %-10d: সংখ্যাটি left-aligned এবং 10 স্থানে প্রদর্শিত হবে, বাকি স্থানে স্পেস থাকবে।
  • %10d: সংখ্যাটি right-aligned এবং 10 স্থানে প্রদর্শিত হবে।
  • %10.2f: ভগ্নাংশ সংখ্যাটি ১০ স্থান চওড়া হবে এবং ২ দশমিক স্থান থাকবে।

আউটপুট:

|123       |      4567|      89.12|

উদাহরণ 3: Locale-Specific Formatting (Currency Format)

import java.util.*;

public class LocaleFormatterExample {
    public static void main(String[] args) {
        Formatter formatter = new Formatter();
        
        // Locale-specific currency formatting
        double amount = 12345.67;

        // Format currency for the default locale
        formatter.format("Amount: %,.2f", amount);
        
        // Output the formatted currency
        System.out.println(formatter);
        
        // Close the formatter
        formatter.close();
    }
}

ব্যাখ্যা:

  • %,.2f: এটি একটি সংখ্যাকে comma-separated এবং 2 decimal places সহ ফরম্যাট করে।
  • এটি default locale অনুসারে সংখ্যা ফরম্যাট করে, যেমন USA-তে $12,345.67 দেখাবে।

আউটপুট:

Amount: 12,345.67

Formatter Class এর সুবিধা:

  1. Flexibility in Output:
    • আপনি text, numeric values, এবং floating point numbers সহ complex formatting করতে পারেন।
  2. Locale-Specific Formatting:
    • এটি currency, numbers, এবং dates সহ অন্যান্য লজিক্যাল ফরম্যাটকে স্থানীয় ভাষা বা স্থানীয় মুদ্রা অনুযায়ী ফরম্যাট করতে সক্ষম।
  3. Control Over Precision:
    • আপনি floating point numbers এর precision নিয়ন্ত্রণ করতে পারেন, যেমন %.2f
  4. Alignment and Padding:
    • numbers এবং strings এর alignment এবং padding নিয়ন্ত্রণ করতে সক্ষম।

Formatter Class এর সীমাবদ্ধতা:

  1. StringBuilder ব্যবহার:
    • Formatter ফরম্যাটিংয়ের জন্য StringBuilder এর মতো ক্লাসের মতো mutable objects ব্যবহার করে, যা কিছু ক্ষেত্রে অতিরিক্ত মেমরি ব্যবহার করতে পারে।
  2. No Formatting for Objects:
    • এটি শুধুমাত্র primitive types এবং strings এর জন্য ফরম্যাটিং করতে উপযুক্ত, তবে আপনি অবজেক্টের জন্য custom formatting করতে toString() মেথড ব্যবহার করতে পারেন।

  • Formatter ক্লাস Java I/O প্যাকেজের একটি শক্তিশালী টুল যা formatted output তৈরি করতে ব্যবহৃত হয়।
  • এটি numeric values, strings, এবং floating point numbers সহ complex formatting এর জন্য উপযোগী।
  • Alignment, padding, precision control, এবং locale-specific formatting সহ এটি আউটপুট ফরম্যাটিংয়ে উচ্চ মানের নিয়ন্ত্রণ প্রদান করে।
  • এটি console applications, file writing, এবং UI applications-এ ডেটা সুন্দরভাবে এবং পঠিতযোগ্য আউটপুট প্রদানের জন্য খুবই উপকারী।
Content added By
Promotion

Are you sure to start over?

Loading...