الوقت/التاريخ الآن هو الخميس مارس 28, 2024 11:05 am
3 نتيجة بحث عن Scanner
طرق الادخال من وحدة التحكم في الجافا Java Input Console
أهلا بكمهناك أوقات يكون فيها من المهم بالنسبة لك الحصول على مدخلات من المستخدمين لتنفيذ برنامج معين وتوجد عدة طرق لفعل ذلك وهى طرق الادخال من خلال وحدة التحكم على النحو التالى :
- باستخدام فئة #BufferedReader
- باستخدام فئة #Scanner
- باستخدام فئة #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');
}
}
الاخراج :
هنا ، عندما تصادف z في سلسلة الحروف ، سيتوقف البرنامج عن عرض أي أحرف أخرى يدخلها المستخدم.
ثانيا :باستخدام فئة 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);
}
}
الاخراج :
ثالثا : باستخدام فئة 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);
}
}
الاخراج :
- في السبت يناير 04, 2020 4:37 pm
- ابحث في: أساسيات اللغة Java Basics
- موضوع: طرق الادخال من وحدة التحكم في الجافا Java Input Console
- المساهمات: 0
- مشاهدة: 1509
التعامل مع الملفات فى الجافا 5_الطرق المختلفة لقراءة ملف نصي سطر سطر Java Read File to String
فى مقالات سابقة تعلمنا كيفية إنشاء ملف نصى و كيفية الكتابة الية أما فى هذا المقال سنلقى نظرة على كيفية قراءة ملف نصي وذلك بعدة طرق :1_باستخدام BufferedReader
يمكننا استخدام الفئة java.io.BufferedReader ومن خلال الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] () لقراءة ملف نصى سطر بسطر. هذه الطريقة تقوم بإرجاع قيمة فارغة عند الوصول إلى نهاية الملف. ....ويتم استخدامها على النحو التالى :
- الكود:
package com.journaldev.readfileslinebyline;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLineUsingBufferedReader {
public static void main(String[] args) {
BufferedReader reader;
try {// انشاء كائن جديد من الفئة و تمرير مسار الملف النصى
reader = new BufferedReader(new FileReader(
"/Users/pankaj/Downloads/myfile.txt"));
String line = reader.readLine();
// حلقة تكرارية للمرور على كافة اسطر الملف النصي
while (line != null) {
System.out.println(line);
//قراءة السطر التالى
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2_ باستخدام الفئة Files
تحتوى الفئة java.nio.file.Files على الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] التى تقوم بقراءة كافة اسطر الملف النصي و تحتاج فى ذلك الى قائمة نصية و ذلك على النحو التالى :
- الكود:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class ReadFileLineByLineUsingFiles {
public static void main(String[] args) {
try {
List<String> allLines = Files.readAllLines(Paths.get("/Users/pankaj/Downloads/myfile.txt"));
for (String line : allLines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
3_باستخدام الفئة RandomAccessFile
يمكننا استخدام [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لفتح ملف في وضع القراءة ، ثم استخدام طريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الخاصة به لقراءة الملفات بسطر وذلك على النحو التالى :
- الكود:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadFileLineByLineUsingRandomAccessFile {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("/Users/pankaj/Downloads/myfile.txt", "r");
String str;
while ((str = file.readLine()) != null) {
System.out.println(str);
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
4_ باستخدام الفئة Scanner
يمكننا استخدام فئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لفتح ملف ثم قراءة المحتوى الخاص به سطرا سطرا.وذلك على النحو التالى :
- الكود:
package com.journaldev.readfileslinebyline;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileLineByLineUsingScanner {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("/Users/pankaj/Downloads/myfile.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
- في الإثنين أكتوبر 28, 2019 9:04 pm
- ابحث في: التعامل مع حزم الجافا java package
- موضوع: التعامل مع الملفات فى الجافا 5_الطرق المختلفة لقراءة ملف نصي سطر سطر Java Read File to String
- المساهمات: 0
- مشاهدة: 1861
[Java] التعامل مع كائن الادخال Scanner
أحد طرق الادخال فى الجافا استخدام الكائن #Scanner والذى يمكنك استخدامة بسهولة لقراءة المدخلات من المستخدم فى البيئة غير الرسومية ويتم استخدامة بخطوات بسيطة على النحو التالى :1_اسيراد الفئة #Scanner على النحو التالى :
- الكود:
import java.util.Scanner;
2_إنشاء كائن جديد من الفئة #Scanner ثم تعيين قيمته لمتغير. System.in
- الكود:
Scanner input = new Scanner(System.in);
3_لقراءة المدخلات يمكنك استخدام الاساليب المختلفة للكائن Scanner ...فمثلا لقراءة نص كلمة واحدة فقط يمكنك استخدام الاسلوب #next و لقراءة جملة يمكنك استخدام الاسلوب #nextLine أما لقراءة رقم صحيح يمكنك استخدام الاسلوب #nextInt وبالمثل ، يقرأ الأسلوب #nextDouble الارقام العشرية على النحو التالى :
- الكود:
import java.util.Scanner;
public class Javaapp {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String name ;
int age ;
System.out.print("Enter your name : ");
name = input.next();
System.out.print("Enter your age : ");
age = input.nextInt();
System.out.println();
System.out.println("Your name : "+name);
System.out.println("Your age : "+age);
input.close();
}
}
- في الأربعاء مارس 13, 2019 7:01 pm
- ابحث في: واجهة المستخدم الرسومية Java Swing
- موضوع: [Java] التعامل مع كائن الادخال Scanner
- المساهمات: 1
- مشاهدة: 827
الثلاثاء مارس 26, 2024 6:26 pm من طرف moslema_r
» شركة تنظيف استراحات بالرياض
الأحد مارس 24, 2024 10:49 pm من طرف moslema_r
» كشف تسربات المياه في جدة
السبت مارس 23, 2024 7:23 pm من طرف gmalnagy
» خدمات كشف تسربات المياه بخصم 25% - اتصل الان
السبت مارس 23, 2024 7:22 pm من طرف gmalnagy
» شركة تنظيف ثريات بالرياض
الخميس مارس 21, 2024 7:23 pm من طرف moslema_r
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد
» افضل معلم جبس بالرياض تركيب جبس بورد بالرياض 20% خصم اتصل الآن
الأحد مارس 17, 2024 1:09 pm من طرف رانيا حماد
» شراء اثاث مستعمل بالكويت بخصم 30%
الأحد مارس 17, 2024 12:54 pm من طرف رانيا حماد
» افضل فني كهربائي منازل بالرياض جودة 100% | اتصل الآن
الأحد مارس 17, 2024 12:36 pm من طرف رانيا حماد