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

Scanner এবং Formatter Class - জাভা টাপল (Java Tuples) - Java Technologies

328

Scanner এবং Formatter ক্লাসগুলি জাভাতে ইনপুট এবং আউটপুট হ্যান্ডলিংয়ের জন্য গুরুত্বপূর্ণ টুল। Scanner ক্লাস ব্যবহার করে আপনি কনসোল থেকে ডেটা ইনপুট নিতে পারেন এবং Formatter ক্লাস ব্যবহার করে সেই ইনপুট ডেটাকে সুন্দরভাবে ফরম্যাট করে আউটপুট প্রদর্শন করতে পারেন।

এখানে আমরা Java Tuples (যেমন Pair, Triplet) ব্যবহার করে Scanner এবং Formatter ক্লাসের মাধ্যমে ডেটা ইনপুট এবং আউটপুট পরিচালনা করার উদাহরণ দেখবো।


Scanner এবং Formatter এর ব্যবহার

1. Scanner ব্যবহার করে ইনপুট নেওয়া এবং Formatter দিয়ে আউটপুট ফরম্যাট করা

import java.util.Scanner;
import java.util.Formatter;
import org.javatuples.Triplet;

public class ScannerFormatterExample {
    public static void main(String[] args) {
        // Scanner অবজেক্ট তৈরি
        Scanner scanner = new Scanner(System.in);

        // ইউজারের ইনপুট গ্রহণ
        System.out.print("Enter your name: ");
        String name = scanner.nextLine();

        System.out.print("Enter your age: ");
        int age = scanner.nextInt();

        System.out.print("Enter your height: ");
        double height = scanner.nextDouble();

        // Tuples এ ইনপুট ডেটা সংরক্ষণ
        Triplet<String, Integer, Double> person = Triplet.with(name, age, height);

        // Formatter অবজেক্ট তৈরি
        Formatter formatter = new Formatter();

        // ফরম্যাটেড আউটপুট তৈরি করা
        formatter.format("Name: %s\nAge: %d\nHeight: %.2f meters\n", person.getValue0(), person.getValue1(), person.getValue2());

        // ফরম্যাটেড আউটপুট প্রিন্ট করা
        System.out.println(formatter.toString());

        // ক্লোজ করা
        scanner.close();
        formatter.close();
    }
}

ব্যাখ্যা:

  • Scanner ব্যবহার করে ইউজার থেকে নাম, বয়স এবং উচ্চতা ইনপুট নেওয়া হয়েছে।
  • এই ইনপুট ডেটা Triplet (Tuples) এর মাধ্যমে একত্রে সংরক্ষিত হয়েছে।
  • Formatter ব্যবহার করে আউটপুট ফরম্যাট করা হয়েছে এবং System.out.println() মাধ্যমে আউটপুট প্রদর্শিত হয়েছে।

আউটপুট:

Enter your name: Alice
Enter your age: 30
Enter your height: 1.75
Name: Alice
Age: 30
Height: 1.75 meters

2. Scanner এবং Formatter ব্যবহার করে আরও complex ডেটা ইনপুট এবং আউটপুট

import java.util.Scanner;
import java.util.Formatter;
import org.javatuples.Pair;

public class ComplexInputOutput {
    public static void main(String[] args) {
        // Scanner অবজেক্ট তৈরি
        Scanner scanner = new Scanner(System.in);

        // ইনপুট গ্রহণ
        System.out.print("Enter your name: ");
        String name = scanner.nextLine();

        System.out.print("Enter your age: ");
        int age = scanner.nextInt();

        System.out.print("Enter your salary: ");
        double salary = scanner.nextDouble();

        // Tuples ব্যবহার করে ইনপুট ডেটা সংরক্ষণ
        Pair<String, Integer> personInfo = Pair.with(name, age);
        Pair<String, Double> salaryInfo = Pair.with(name, salary);

        // Formatter ব্যবহার করে আউটপুট ফরম্যাট করা
        Formatter formatter = new Formatter();
        formatter.format("Name: %s\nAge: %d\nSalary: %.2f\n", personInfo.getValue0(), personInfo.getValue1(), salaryInfo.getValue1());

        // ফরম্যাট করা আউটপুট প্রিন্ট করা
        System.out.println(formatter.toString());

        // ক্লোজ করা
        scanner.close();
        formatter.close();
    }
}

ব্যাখ্যা:

  • Pair ব্যবহার করে আমরা দুটি আলাদা টাপলে ইউজারের নাম, বয়স এবং বেতন সংরক্ষণ করেছি।
  • Formatter ব্যবহার করে আউটপুট ফরম্যাট করা হয়েছে এবং আউটপুট প্রদর্শন করা হয়েছে।

আউটপুট:

Enter your name: John
Enter your age: 28
Enter your salary: 55000.50
Name: John
Age: 28
Salary: 55000.50

3. কমান্ড লাইন আর্গুমেন্ট ব্যবহার করে Scanner এবং Formatter এর মাধ্যমে আউটপুট

import java.util.Scanner;
import java.util.Formatter;

public class CommandLineWithFormatter {
    public static void main(String[] args) {
        if (args.length != 3) {
            System.out.println("Please provide name, age, and salary as arguments.");
            return;
        }

        // কমান্ড লাইন আর্গুমেন্ট থেকে ডেটা নেওয়া
        String name = args[0];
        int age = Integer.parseInt(args[1]);
        double salary = Double.parseDouble(args[2]);

        // Formatter অবজেক্ট তৈরি
        Formatter formatter = new Formatter();

        // আউটপুট ফরম্যাট করা
        formatter.format("Name: %s\nAge: %d\nSalary: %.2f\n", name, age, salary);

        // ফরম্যাট করা আউটপুট প্রিন্ট করা
        System.out.println(formatter.toString());

        // Formatter ক্লোজ করা
        formatter.close();
    }
}

ব্যাখ্যা:

  • কমান্ড লাইন আর্গুমেন্ট হিসাবে নাম, বয়স, এবং বেতন প্রাপ্ত হয়েছে।
  • আর্গুমেন্টগুলির মাধ্যমে আউটপুট Formatter ব্যবহার করে ফরম্যাট করা হয়েছে এবং পরবর্তীতে আউটপুট প্রদর্শিত হয়েছে।

উদাহরণ:

java CommandLineWithFormatter Alice 30 50000.00

আউটপুট:

Name: Alice
Age: 30
Salary: 50000.00

Scanner এবং Formatter এর ব্যবহারিক সুবিধা

  1. Scanner এর সুবিধা:
    • সহজেই কনসোল বা ফাইল থেকে ইনপুট নেয়া যায়।
    • বিভিন্ন ধরনের ডেটা (String, int, float) পড়তে সক্ষম।
    • ইউজারের ইনপুট প্রক্রিয়া করতে খুবই কার্যকর।
  2. Formatter এর সুবিধা:
    • আউটপুট ফরম্যাট করা খুব সহজ এবং নমনীয়।
    • টাইপ-সেফ আউটপুট প্রদান করে।
    • printf() মেথডের মাধ্যমে সরাসরি আউটপুট প্রিন্ট করা যায়।

Scanner এবং Formatter ক্লাস জাভাতে ইনপুট এবং আউটপুট হ্যান্ডলিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ। Tuples (যেমন Pair, Triplet) ব্যবহার করে আপনি একাধিক ভ্যালু একত্রে সঞ্চয় এবং প্রক্রিয়া করতে পারেন, যা কমপ্লেক্স ডেটা ম্যানিপুলেশন সহজ করে। এই টুলগুলি একত্রে ব্যবহার করলে আপনার প্রোগ্রাম আরও কার্যকরী, সোজা এবং পরিষ্কার হয়।

Content added By
Promotion

Are you sure to start over?

Loading...