জাভাতে ডাটা ইনপুট

জাভাতে কোন কিছু পড়তে একটু বেগ পেতে হয়। প্রথম প্রথম একটূ জামেলাই বটে।প্রথমে দেখিBufferedReader দিয়ে ইউজার থেকে কোন কিছু ইনপুট নেওয়াঃ

নিছে একটি জাভা প্রোগ্রাম দেওয়া হয়েছে যা দিয়ে ইউজার থেকে একটা স্ট্রিং নিবে এবং তা প্রিন্ট করবে।


import java.io.BufferedReader;
import java.io.InputStreamReader;

public class inputExample{

public static void main(String[] args) throws Exception {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 String s = new String();

 s =br.readLine();
 System.out.println(s);
 }
}

প্রথমে দেখলেই কেমন ভয় লাগে যে একটা মাত্র লাইন ইনপুট নেওয়া জন্য এত কিছু লিখতে হয়।

BufferedReader দিয়ে কোন কিছু ইনপুট নেওয়ার জন্য BufferedReader ক্লাস ইমপোর্ট করতে হয়। তার পর ক্লাসের একটা অবজেক্ট তৈরি করে ঐ অবজেক্ট দিয়ে আমরা কোন ডাটা ইনপুট দি। উপরের প্রোগ্রামে br নামে BufferedReader এর একটা অবজেক্ট তৈরি করা হয়েছে। ইনপুট নেওয়ার জন্য আরেকটা ক্লাস লাগে আর তা হচ্ছে InputStreamReader । তাই আমরা প্রথমেই InputStreamReade কে ইমপোর্ট করে নিয়েছি।

কোন কিছু ইনপুট নিতে গেলে এক্সেপশন ঘটতে পারে, যেমন ইনপুট নিবে কারেকটার, ইনপুট দিয়েছে স্টিং, বা ইন্টিজার ইনপুট দেওয়ার পরিবর্তে কারেকটার ইনপুট দিয়েছে। আর তাই এক্সেপশন কে রোধ করার জন্য আমাদেরকে কিছু ব্যবস্থা নিতে হবে। উপরের কোডে মেইন মেথডের পরে throws Exception দুটি শব্দ যোগ করে দিয়েছি, যা দিয়ে কোন এক্সেপশন হলে তা দেখবে এবং প্রোগ্রাম ঠিক মত চালাতে সাহায্য করবে। আরেকভাবে এক্সেপশন হেন্ডেল করা হয়, তাহচ্ছে try & catch. অন্য আরেকদিন তা বিস্তারিত লিখব ইনশাহ আল্লাহ।

Console Input: Scanner দিয়ে কোন কিছু ইনপুট নেওয়াঃ 

import java.util.Scanner;
public class ScannerIn {
 public static void main(String[] args) {

 Scanner scan = new Scanner(System.in);

 System.out.println("Enter you Name: ");
 String name = scan.nextLine();
 System.out.println(name);

 }
}

Scanner ব্যবহার করার জন্য আমাদের Scanner নামে জাভা লাইব্রেরী ইনপোর্ট করতে হবে। তার পর Scanner  এর একটা অবজেক্ট তৈরি করতে হবে, উপরের প্রোগ্রামে scan নামে Scanner  এর একটি অবজেক্ট তৈরি করা হয়েছে। এবং পরে scan দিয়ে একটা লাইন ইউজার থেকে ইনপুট নেওয়া হয়েছে।BufferedReader থেকে Scanner দিয়ে ইনপুট নেওয়া সহজ। কিন্তু BufferedReader রিডারে অনেক সুবিদা পাওয়া যায় তা জাভাতে প্রোগ্রাম লিখতে লিখতেই বুঝতে পারবেন।

Scanner দিয়ে ইন্টিজার মান নেওয়ার জন্য nextInt(); ব্যবহার করা হয়, উপরের প্রোগ্রামে String name = scan.nextLine(); এর জাগায় int i = scan.nextInt(); ব্যবহাকরে তারপর i প্রিন্ট করে দেখুন। একই ভাবে লং ইন্টিজার পড়ার জন্য nextLong(); ব্যবহার করা হয়।

Leave a Reply