Fri. Nov 16th, 2018

জাভাতে বেসিক Input/Output নিয়ে কাজ

প্রোগ্রামিং এর সময় আমাদের অনেক ক্ষেত্রে ইউজার ইনপুট নিয়ে কাজ করতে হয় । জাভা টিউটোরিয়ালের আজকের পর্বে আমরা জাভাতে কিভাবে ইউজার ইনপুট এবং আউটপুট নিয়ে কাজ করতে হয় সেই বিষয় নিয়ে আলোচনা করবো । জাভাতে অনেক ভাবে ইউজার ইনপুট নেয়া যায় যেমন java.util.Scanner কিংবা  java.io.BufferedReader  ক্লাস ব্যাবহার করে  ইউজারের কাছে থেকে ডাটা ইনপুট নেয়া যায় । তাহলে দেখে নেয়া যাক

Scanner ক্লাস দিয়ে ইনপুট/আউটপুট

জাভার Util প্যাকেজের অন্তর্ভুক্ত Scanner ক্লাসে কিছু মেথড রয়েছে যেগুলোর মাধ্যমে আমরা বিভিন্ন টাইপের ডাটা ইনপুট হিসেবে নিতে পারি । মেথডগুলো হচ্ছে – String ইনপুট নেয়ার জন্য next( ) কিংবা nextLine( ), Integer ইনপুটের জন্য nextInt( ) , float ইনপুটের জন্য nextFloat( ) , byte ইনপুটের জন্য nextByte( ) , short ইনপুটের জন্য nextShort( ) , long ইনপুটের জন্য nextLong( )  এবং double টাইপের জন্য nextDouble( ) । একটা উদাহারন দেয়া যাক

import java.util.InputMismatchException;
import java.util.Scanner;

public class JavaInputOutput {
    public static void main(String[] args){
        int numberInt;
        float numberFloat;
        String token;
        byte byteInput;
        short shortInput;
        long longInput;
        double dblInput;
        try{
            Scanner input=new Scanner(System.in);
            System.out.println("Enter first string: ");
            token=input.next();
            System.out.println("Enter integer number: ");
            numberInt=input.nextInt();
            System.out.println("Enter float number: ");
            numberFloat=input.nextFloat();
            System.out.println("Enter byte number: ");
            byteInput=input.nextByte();
            System.out.println("Enter short number: ");
            shortInput=input.nextShort();
            System.out.println("Enter long number: ");
            longInput=input.nextLong();
            System.out.println("Enter double number: ");
            dblInput=input.nextDouble();

            //ouputs
            System.out.println("==============Outputs==========");
            System.out.println("String output: " + token);
            System.out.println("Integer output : " + numberInt);
            System.out.println("Float output : " + numberFloat);
            System.out.println("Byte output : " + byteInput);
            System.out.println("Short output : " + shortInput);
            System.out.println("Long output : " + longInput);
            System.out.println("Double output : " + dblInput);
            input.close();
        }catch(InputMismatchException exception){
            System.out.println("Please enter a valid number !");
        }
    }
}

 

আউটপুট

Enter first string: 
text
Enter integer number: 
10
Enter float number: 
25.2558
Enter byte number: 
102
Enter short number: 
500
Enter long number: 
105646
Enter double number: 
3546976543
==============Outputs==========
String output: text
Integer output : 10
Float output : 25.2558
Byte output : 102
Short output : 500
Long output : 105646
Double output : 3.546976543E9

BufferedReader ক্লাস দিয়ে ইনপুট/আউটপুট

BufferedReader এবং InputStreamReader ক্লাস দিয়ে ইনপুট নেয়ার ক্ষেত্রে কিছু মেথডের ব্যাপার থাকে যেমন read( ), readLine( ) । আর Integer , Float কিংবা Long , Short এইসব ডাটা পার্সিং এর  জন্য Integer.parseInt(String param) , Float.parseFloat(String param), Long.parseLong(String param) ইত্যাদি ধরনের পার্সার আছে । উল্লেখ্য যে read( ) শুধুমাত্র ক্যারেক্টার টাইপ এবং readLine ( ) মেথড ইনপুটকে স্ট্রিং হিসেবে নেয় যার জন্য Integer , Float কিংবা যেকোনো সংখ্যা জাতীয় কোন ডাটার আউটপুট  পেতে গেলে পার্সার ব্যাবহার করতে হয় । একটা উদাহারন দেয়া যাক

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

public class BufferedInputOutput {
    public static void main(String[] args) throws IOException{
        String stringInput;
        int numberInt;
        float numberFloat;
        short numberShort;
        byte numberByte;
        long numberLong;
        double numberDbl;
        char letter;
        
        try{
            BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
            System.out.println("Enter string : ");
            stringInput=input.readLine();
            System.out.println("Enter integer number : ");
            numberInt=Integer.parseInt(input.readLine());
            System.out.println("Enter float number : ");
            numberFloat=Float.parseFloat(input.readLine());
            System.out.println("Enter short number : ");
            numberShort=Short.parseShort(input.readLine());
            System.out.println("Enter byte number : ");
            numberByte=Byte.parseByte(input.readLine());
            System.out.println("Enter long number : ");
            numberLong=Long.parseLong(input.readLine());
            System.out.println("Enter double number : ");
            numberDbl=Double.parseDouble(input.readLine());
            System.out.println("Enter a character : ");
            letter=(char)input.read();
            System.out.println();

            System.out.println("==========outputs============");
            System.out.println("String output : " + stringInput);
            System.out.println("Integer output : " + numberInt);
            System.out.println("Float output : " + numberFloat);
            System.out.println("Short output : " + numberShort);
            System.out.println("Byte output : " + numberByte);
            System.out.println("Long output : " + numberLong);
            System.out.println("Double output : " + numberDbl);
            System.out.println("Character output : " + letter);
        }catch (NumberFormatException e){
            System.out.printf("Enter a valid number !");
        }
    }
}

আউটপুট

Enter string : 
This is a string
Enter integer number : 
1546
Enter float number : 
10.2545
Enter short number : 
10
Enter byte number : 
15
Enter long number : 
354363569
Enter double number : 
154.24564545
Enter a character : 
A

==========outputs============
String output : This is a string
Integer output : 1546
Float output : 10.2545
Short output : 10
Byte output : 15
Long output : 354363569
Double output : 154.24564545
Character output : A

এছাড়াও DataInputStream ক্লাস দিয়ে ইনপুট / আউটপুটের কাজ করা যায় ।  এ ছিলো জাভা ইনপুট / আউটপুট নিয়ে একেবারে বেসিক কিছু কথা । আশা করি সবাই বুঝতে পেরেছেন । আজকে  এই পর্যন্তই থাক । ভালো লাগলে শেয়ার করবেন

 

 

Comments

comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: