الوقت/التاريخ الآن هو الجمعة أبريل 19, 2024 4:05 am

1 نتيجة بحث عن BufferedReader

طرق الادخال من وحدة التحكم في الجافا Java Input Console

أهلا بكم 

هناك أوقات يكون فيها من المهم بالنسبة لك الحصول على مدخلات من المستخدمين لتنفيذ برنامج معين وتوجد عدة طرق لفعل ذلك وهى طرق الادخال من خلال وحدة التحكم على النحو التالى :



  1. باستخدام فئة #BufferedReader
  2. باستخدام فئة #Scanner
  3. باستخدام فئة #Console


الآن دعونا نلقي نظرة فاحصة على هذه الأساليب واحدة تلو الأخرى.

أولا: باستخدام فئة BufferedReader


هذه هي أقدم طريقة في Java لإدخال البيانات من وحدة التحكم. تم تقديم هذه التقنية لأول مرة في الاصدار JDK 1.0. باستخدام هذه الطريقة نحتاج إلى التفاف الفئة InputStreamReader و الفئة System.in في الفئة BufferedReader .

يتم ذلك باستخدام بناء الجملة التالي:

الكود:
BufferedReader br = new BufferedReader (new InputStreamReader (System.in));


سيؤدي استخدام هذا إلى ربط الدفق القائم على الأحرف "br" بوحدة التحكم للإدخال من خلال System.in...دعونا نلقي نظرة على مثال لجعل المفهوم أكثر وضوحا.

في هذا المثال ، سوف نحصل على سلسلة من الأحرف التي تم إدخالها من المستخدم. سيعرض البرنامج الأحرف واحدة تلو الأخرى للمستخدم على الشاشة. سيستمر حتى تتم مصادفة حرف الإنهاء في السلسلة.

الكود:
import java.io.*;
class bread
{
      public static void main(String args[]) throws IOException
      {
            char ch;
            BufferedReader br = new BufferedReader(new InputStreamReader (System.in));
            System.out.println ("Enter any string of your choice (To terminate Press \'z\' ");
            do
            {
                  ch = (char) br.read ();
                  System.out.println (ch);
            } while (ch != 'z');
      }
}


الاخراج :

الوسم bufferedreader على المنتدى منتدى مصر التقني Reading-Console-Input-in-Java-output-2

هنا ، عندما تصادف z في سلسلة الحروف ، سيتوقف البرنامج عن عرض أي أحرف أخرى يدخلها المستخدم.

الوسم bufferedreader على المنتدى منتدى مصر التقني Reading-Console-Input-in-Java-output1


ثانيا :باستخدام فئة Scanner


تم تقديم فئة Scanner في JDK 1.5 وتم استخدامها على نطاق واسع.حيث توفر الفئة Scanner طرقًا متعددة لتيسير الطريقة التي نحصل بها على الإدخال من وحدة التحكم. يتم تعريف فئة الماسح الضوئي في java.util ، لذا تحتاج إلى استيراد الحزمة تلك أولاً.

يستخدم الماسح أيضًا System.in ويكون بناء الجملة الخاص به كما يلي:

الكود:
Scanner obj_name = new Scanner (System.in);



واليكم بعض أساليب الأداة المساعدة التى توفرها فئة Scanner كالتالي:



hasNext()تقوم بإرجاع قيمة منطقية اعتمادًا على ما إذا كان يتوفر أي رمز مميز أم لا. تقوم بإرجاع قيمة حقيقية true في حالة توفر أي رمز مميز. إلا أنه سيعود قيمة false .
hasNextInt()تقوم بإرجاع صحيح إذا كانت قيمة int قيد القراءة. إلا أنه سيعود قيمة خاطئة
hasNextFloat()تقوم بإرجاع صحيح إذا كانت قيمة تعويم قيد القراءة. إلا أنه سيعود قيمة خاطئة
hasNextBoolean()تقوم بإرجاع صحيح إذا كانت القيمة المنطقية قيد القراءة. إلا أنه سيعود قيمة خاطئة .
next()يقرأ الرمز التالي كسلسلة.
nextLine()يقرأ سطر الإدخال التالي كسلسلة.
nextInt()يقرأ قيمة الإدخال التالية كعدد صحيح.
nextDouble()يقرأ قيمة الإدخال التالية كقيمة مزدوجة.

دعونا نلقي نظرة على مثال لفهم المفهوم بطريقة أفضل. في هذا المثال ، سوف نقرأ الأرقام من المستخدم وسنجد مجموع هذه الأرقام ونعرض النتيجة عليه.

الكود:
import java.util.*;
class scanner_eg
{
      public static void main(String args[])
      {
            Scanner obj = new Scanner (System.in);
            double total = 0;
            System.out.println ("Enter numbers to add. Enter any string to end list.");
            while (obj.hasNext())
            {
                  if (obj.hasNextDouble())
                  {
                        total += obj.nextDouble();
                  }
                  else
                  {
                        break;
                  }
            }
            System.out.println ("Sum of the numbers is " + total);
      }
}


الاخراج :

الوسم bufferedreader على المنتدى منتدى مصر التقني Usin-Scanner-Class-Output

ثالثا : باستخدام فئة Console


هذه طريقة أخرى لقراءة إدخال المستخدم من وحدة التحكم في Java. تم تقديم طريقة قراءة إدخال المستخدم هذه في JDK 1.6. يستخدم هذا الأسلوب أيضًا System.in لقراءة الإدخال.

هذه الطريقة هي الأنسب لقراءة المدخلات التي لا تتطلب صدى إدخال المستخدم مثل قراءة كلمات مرور المستخدم. تقوم هذه التقنية بقراءة مدخلات المستخدم دون تكرار الأحرف التي أدخلها المستخدم.

يتم تعريف فئة وحدة التحكم في فئة java.io والتي يجب استيرادها قبل استخدام فئة وحدة التحكم.

دعونا نفكر في مثال .

الكود:
import java.io.*;
class consoleEg
{
      public static void main(String args[])
      {
            String name;
            System.out.println ("Enter your name: ");
            Console c = System.console();
            name = c.readLine();
            System.out.println ("Your name is: " + name);
      }
}


الاخراج :

الوسم bufferedreader على المنتدى منتدى مصر التقني Using-console-class
من طرف زهراء
في السبت يناير 04, 2020 4:37 pm
 
ابحث في: أساسيات اللغة Java Basics
موضوع: طرق الادخال من وحدة التحكم في الجافا Java Input Console
المساهمات: 0
مشاهدة: 1519

الرجوع الى أعلى الصفحة

انتقل الى: