الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج يستقبل عدد صحيح وثم يختبر نوع الرقم

بدأه pure mind في 26 ديسمبر 2009 · 4 رد · 704 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم وحمة الله وبركاته

برنامج راح يستقبل انتجر ثم استخدم ميثود isEven

للاختبر الرقم هل هو عدد فردي او اتوقع راح تكون النتيجة المرجعية من الميثود

false , true

import java.util.*;
public class isEven
{
static Scanner console=new Scanner(System.in);

static int num,N;
public static void main (String[]args)
{

System.out.println("Enter  num ");
num=console.nextInt();

N=isEven(num);
System.out.print("the result return forom method ="+N );

}

public static boolean isEven (String str)
{

if(num%2!=0)

return true ;
else
return false;

}




}

هذا كود برنامج كتبته ياليت احد يوضح لي ايش الغلط او الثغرة في الكود

#2

لديك 3 مشاكل رئيسية في الكود ..

اولاً لاحظ في تعريف الميثود لديك :

public static boolean isEven (String str)

الميثود هنا بحسب التعريف تستقبل متغير بيان من نوع String في حين انك ترسل لها num والذي هو من نوع int !!!

ثانياً لاحظ انه من تعريف الميثود نفسها يفترض ان نعيد متغير من نوع boolean ... في حين انك تضع القيمة الراجعة في N والذي هو من نوع int !!!

و الشيء الثالث و المهم هو في تحديد نوع المتغير عندك : هل هو عدد زوجي او لا:

i

f(num%2!=0)

return true ;

العدد الزوجي كما تعلم يقبل القسمة عل 2 بدون باقي و عليه عليك ان تعكس الشرط هنا الى يساوي ...

عموماً هذا هو الكود بعد التعديل:

import java.util.*;
public class isEven
{
static Scanner console=new Scanner(System.in);

static int num;
static boolean N;
public static void main (String[]args)
{

System.out.println("Enter  num ");
num=console.nextInt();

N=isEven(num);
System.out.print("the result return forom method ="+N );

}

public static boolean isEven (int num)
{

if(num%2==0)

return true ;
else
return false;

}

بالتوفيق ...

تم تعديل هذه المشاركة بواسطة بنت اليمن في 26 ديسمبر 2009 في 20:45

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#3
import java.util.Scanner;
public class CheckEven
{
    public static void main (String[]args)
    {
        Scanner console=new Scanner(System.in);
        boolean result;
        System.out.print("Enter  num ");
       int num=console.nextInt();

        result = isEven(num);
        System.out.println("the result return from method: " + result);

    }

    public static boolean isEven (int num)
    {

    if(num%2 == 0)

    return true ;
    else
    return false;
    }

}
#4

اللله يعطيكم العافية

مشكورة بنت اليمن على توضيح خطأ نورتيني انا كنت فاهمة ان enen هو العدد الفرردي عشان كذا خبطت خخخخخخخخخ

ومشكور اخوي NullOne

وحبيت اسأل ايش الفرق بين

static int num;static boolean N

ففي كود بنت اليمن

boolean result

في كود الاخ نول ون

#5
/*
 * Avoid the overuse of static members and global variables :)
 * Even the method isEven(int num) should not be static in my opinion
 * but in your case it's not a big deal, because its a simple program.
 *
 * static is used when you want the member (variable for example) to be
 * common for all objects. So in your case this is not a problem.
 * But in big programs such as multithreading programs or many objects
 * this can static members may cause big problems.
 *
 * Many beginners get addicted to using static, so I tell you try to
 * avoid it when you can.
 * The following code is the CheckEven program without using any static
 * members nor global variables
 * 
 * I know that some people want to kill me for my english posts :) ME IS SORRY
 */
import java.util.Scanner;
public class CheckEven
{
    public static void main (String[]args)
    {
        Scanner console=new Scanner(System.in);
        boolean result;
        System.out.print("Enter  num ");
       int num=console.nextInt();

        CheckEven checkEven = new CheckEven();

        result = checkEven.isEven(num);
        System.out.println("the result return from method: " + result);

    }

    public boolean isEven (int num)
    {

    if(num%2 == 0)

    return true ;
    else
    return false;
    }

}
1

مواضيع مشابهة