الأربعاء، 22 يونيو 2016

قراءة المدخلات عن طريق Scanner أو swing

هناك طريقتان لقراءة المدخلات الطريقة الرسومية أو مباشرة عن طريق الكود و في الامثلة التالية نفس البرنامج و لكن بطريقتين.

1- الطريقة الاولى و هي عن طريق الكود مباشرة ونحتاج ان نستدعي كلاس java.util.scanner


package authentication;
// بالإمكان اختيار اي اسم للباقة
import java.util.Scanner;
// هنا تم إستدعاء كلاس سكانر ليقوم بقراءة المدخلات
public class ScannerTask {

    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
// في هذا السطر تم تعريف سكانر جديد بإسم input        
        System.out.print("Enter your name: ");
        String Name = input.next();
// تعريف متغير للإسم ومباشرة يتم تخزين ما يدخله المستخدم في المتغير
        System.out.print("Enter your age: ");
        String Age = input.next();
// تعريف متغير للعمر و ايضا يقوم بتخزين ما يدخله المستخدم
        System.out.println("Your name is " + Name + " and your age is " + Age);
// طباعة الجملة النهائية التي تحتوي على الاسم و العمر
    }
}

2- الطريقة الثانية وهي طريقة الواجهة الرسومية و يتم إستدعاء الحزمة javax.swing.JOptionPane

package authenticator;
// بالإمكان اختيار أو إضافة البرنامج تحت  اي اسم للباقة
import javax.swing.JOptionPane;
// هنا تم إستدعاء حزمة الواجهة الرسومية
public class JOptionPaneTask {
    public static void main(String[] args){
String Name = JOptionPane.showInputDialog("Enter your name:");    
//  تعريف متغير للإسم ومباشرة يتم تخزين ما يدخله المستخدم في المتغير حيث تظهر الواجهة الرسومية
String Age = JOptionPane.showInputDialog("Enter your Age:");
// تعريف متغير للعمر و ايضا يقوم بتخزين ما يدخله المستخدم
System.out.println("Your name is " + Name + " and your age is " + Age);
// طباعة الجملة النهائية التي تحتوي على الاسم و العمر
}
}


الجمعة، 13 أبريل 2012

import java.util.Scanner

import static java.lang.System.out;
import java.util.Scanner;
java.util.Scanner; هي عبارة عن كلاس محفوظ داخل الجافا ويقوم بجلب التعليمات الازمة لمسح اي رقم يتم إدخاله بواسطة الكيبورد 


public class ScannerApp {
هنا بداية الكلاس الرئيسي للبرنامج
    public static void main(String[] args) {
        
        
        Scanner number ;
تعريف متغير للسكانر
        int WhatIsTheNumber;
تعريف متغير للرقم الذي سيعرض للمستخدم
        out.print("Type any number: ");
        number = new Scanner(System.in);
هنا سيقوم البرنامج بقراءة الرقم الذي سيدخله المستخدم و يحفظه في المتغير
        WhatIsTheNumber = number.nextInt();
المعادلة تقوم بحفظ الرقم المدخل في المتغير
        out.println("The number you enter is: " + WhatIsTheNumber);
      
    }
}


كود البرنامج


import static java.lang.System.out;
import java.util.Scanner;
public class ScannerApp {

    public static void main(String[] args) {
        
        Scanner number ;
        int WhatIsTheNumber;
        
        out.print("Type any number: ");
        number = new Scanner(System.in);
        WhatIsTheNumber = number.nextInt();
        out.println("The number you enter is: " + WhatIsTheNumber);
       
    }
}


لو أردت من البرنامج قراءة أشياء أخرى غير الأرقام الطبيعية  مثل المتغير int فيجب تغيير نوع المتغير بعد كلمة next

مثلا
nextDouble()
لقراءة الأرقام الصحيح التي تحتوي على كسور مثل 1.9
nextBoolean()
تستخدم عندما يكتب المستخدم true أو false
next()
تستخدم لكتابة الكلمات مثل Hello, Ahmed, Java

الخميس، 12 أبريل 2012

if, else + Random Numbers + Scanner

هذا البرنامج مأخوذ من كتاب java for dummies 5th edition وهو عبارة عن برنامج يقوم بختيار رقم عشوائي بين الواحد و العشرة ومن ثم يطلب من المستخدم تخمين الرقم ويخبره إذا كان الرقم صحيحا و إذا كان خاطئا يخبره ما هو الرقم المختار عشوائياً

import static java.lang.System.out;
import java.util.Scanner;
import java.util.Random;

public class GuessingGame {

    public static void main(String args[] ) {
Scanner keyboard = new Scanner(System.in);

out.print("Enter an int from 1 to 10: ");

int inputNumber = keyboard.nextInt ();
int randomNumber = new Random().nextInt(10) + 1;

if (inputNumber == randomNumber) {
    out.println("*********");
    out.println("*You Win.*");
    out.println("*********");
} else {
    out.println("You lose.");
    out.print("The random number was ");
    out.println(randomNumber + ".");
}
out.println("Thank you for playing.");
        // TODO code application logic here
    }
}

مثال آخر من برمجتي يقوم البرنامج بتوليد رقمين عشوائيا و عرضهم للمستخدم و على المستخدم إدخال مجموع الرقمين

import static java.lang.System.out;
import java.util.Scanner;
import java.util.Random;

public class AddTwo {
        public static void main(String args[] ) {
            
            int randomNum1 = new Random().nextInt(10) + 1;
            int randomNum2 = new Random().nextInt(10) + 1;
            int sum = randomNum1 + randomNum2;
            
            out.println(randomNum1 + " + " + randomNum2);
            
            Scanner keyboard = new Scanner (System.in);
            
            out.print("The sum is: ");
            
            int input = keyboard.nextInt();
            
            if (input == sum) {
                out.println("**Correct**");
            }
            else {
                out.println("Wrong, Try Again.");
            }
        }
}