إن إدخال الأحرف في Java ليس بالأمر السهل مثل أخذ الإدخال كسلسلة أو عدد صحيح. تعمل فئة Scanner في Java مع nextInt() و nextLong() و nextDouble() وما إلى ذلك. ومع ذلك، فهي لا تدعم nextChar في Java، مما يجعل إدخال الأحرف أكثر تعقيدًا قليلاً. إذا كنت تتطلع إلى أخذ إدخال char في Java وكان nextChar() لا يعمل، فإليك كيفية أخذ الإدخال كـ char بشكل صحيح.
فئة الماسح الضوئي nextChar () في Java
لا توجد طريقة nextChar() كلاسيكية في فئة Java Scanner. سيكون البديل الأفضل والأكثر بساطة لأخذ إدخال char في Java هو التالي ().charAt(0) . يتم استخدام الأمر charAt(0) مع الأمر next() البسيط الذي يوجه Java لتسجيل الحرف أو السلسلة التالية التي يتم إدخالها في سطر الأوامر. يمكن أن يكون هذا الإدخال عبارة عن سلسلة أو حرف أو رقم. يعد الأمر charAt طريقة لتصفية أنواع البيانات غير المرغوب فيها ويقيد الإدخال فقط لنوع بيانات char. نظرًا لأن charAt يُرجع المخرجات في شكل قيمة char فقط، فإنه يحول أي نوع من أنواع البيانات إلى نوع char. للحصول على مدخلات char باستخدام Scanner و next() ، يمكنك استخدام هذين السطرين من التعليمات البرمجية.Scanner input = new Scanner (system.in);
char a = input.next().charAt(0);
عندما تستخدم next() ، فإنك تخبر Java بأنها على وشك قبول إدخال نوع بيانات غير محدد. يمكن أن يحتوي هذا الإدخال على عدد لا حصر له من الأحرف. ومع ذلك، باستخدام الأمر charAt وتمرير "0" كفهرس، فإنك تأخذ حرفًا واحدًا فقط كمدخل وتخزنه في متغير. ستكون القيمة المرجعة لسطر الإدخال حرفًا واحدًا. وبما أننا طلبنا من المترجم قبول أي مدخلات سيتلقاها بعد ذلك، فلا يهم أنه تمت تهيئة حرف واحد فقط. أمثلة الترميز لقبول إدخال char في Java مكتوبة أدناه.
import java.util.Scanner;
public class CharExample {
public static void main(String[] args) {
//Initializing input
Scanner input = new Scanner(System.in);
System.out.print("Input any character: ");
//Using next().charAt(0) to Accept Char Input
char a = input.next().charAt(0);
//Printing the Contents of 'a'
System.out.println("The Variable A Contains the Following Data: " + a);
}
}
الإخراج هو:
أدخل أي حرف: l المتغير A يحتوي على البيانات التالية: l
هناك بدائل أخرى لقبول إدخال الأحرف من المستخدمين في Java. يمكنك استخدام Reader.useDelimiter(“”) و reader.next() وهي أيضًا طريقة بديهية لإنجاز المهمة.
المزيد من القراءة: |
---|
GO TO FULL VERSION