لدي تعليق بسيط على الإضافة الجديدة للموضوع:
عند استخدام الأمر ()nextint، يفضل استخدام الأمر ()nextline بعده مباشرةً. السبب في ذلك أنه عندما يقوم المستخدم بإدخال رقم معين، سيتبعه بإدخال enter (أي أنه سيكون السطر الذي أدخله المستخدم يحتوي على الرقم يليه حرف السطر الجديد n\)، لذلك فالأمر ()nextline سيهمل ما بعد الرقم.
ستظهر فائدة الأمر ()nextline عند استخدام الأمر ()nextline لإدخال نص بعد الأمر ()nextint المعني بإدخال رقم. المثال التالي سيوضح ذلك:
كود:
import java.util.scanner;
public class main
{
public static void main(string[] args)
{
scanner keyboard = new scanner(system.in);
system.out.print("how old are you? ");
int age = keyboard.nextint();
system.out.print("what is your name? ");
string name = keyboard.nextline();
system.out.println("hello " + name + ". You are " + age + " years old.");
}
}
وهنا شاشة الـ console:
كود:
how old are you? 23
what is your name? Hello . You are 23 years old.
لاحظوا بأن البرنامج سيعتبر بأنك أدخلت اسم وأنت لم تدخل اسم، وهذا بسبب أن الـ scanner ما زال بداخله حرف السطر الجديد n\. لنحل هذه المشكلة نستخدم الأمر ()nextline:
كود:
import java.util.scanner;
public class main
{
public static void main(string[] args)
{
scanner keyboard = new scanner(system.in);
system.out.print("how old are you? ");
int age = keyboard.nextint();
keyboard.nextline();
system.out.print("what is your name? ");
string name = keyboard.nextline();
system.out.println("hello " + name + ". You are " + age + " years old.");
}
}
وهنا ما يظهر على شاشة الـ console:
كود:
how old are you? 23
what is your name? Fouad
hello fouad. You are 23 years old.
أتمنى بأن تكون الفكرة وصلت :)
بالتوفيق للجميع ~