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

اين الخطأ في هذا الكود

بدأه مبتدئ جافا في 11 أكتوبر 2010 · 3 رد · 493 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني الاعزاء اعضاء منتدى الفريق العربي للبرمجة انا عضو جديد وبدأت في تعلم لغة الجافا للتو..

قد واجهتني مشكلة ولم اعرف اين الخطا

هذا الكود يقوم بتعبئة المصفوفة عن طريق المستخدم ويتم ترتيبها تصاعديا

 import javax.swing.JOptionPane;

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

    int myarray[] = new int[10];
      //---------------
      int $num;
      String $s;
      //-----------------

      for(int $i=0;$i<10;$i++){

      $s = JOptionPane.showInputDialog("insert numbers " + $i);
      $num = Integer.parseInt($s);
      myarray[$i] = $num;

      }

//------------------------------
    int $desc;
for(int $j=0;$j<=myarray.length;$j++){


        for(int $i=0;$i<=myarray.length;$i++){

        if(myarray[$i] > myarray[$i+1]){
            $desc = myarray[$i];
            myarray[$i] = myarray[$i+1];
            myarray[$i+1] = $desc;
        }
    }
}

    for(int $i=0; $i<=myarray.length;$i++){

        System.out.println(myarray[$i]);
    }
    //----------------------------------------
    }

    }


}

يظهر لي خطأ ولم اعرف السبب؟؟

وهذا الخطأ

java.lang.SecurityException: Prohibited package name: java
        at java.lang.ClassLoader.preDefineClass(ClassLoader.java:480)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:626)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: java.Main.  Program will exit.
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

اتمنى منكم المساعدة وشكراً لكم مقدماً

تحياتي,,مبتدئ جافا

تم تعديل هذه المشاركة بواسطة مبتدئ جافا في 11 أكتوبر 2010 في 00:22

#2

تفضل اخى الكريم

import javax.swing.JOptionPane;

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        int myarray[] = new int[4];
        //---------------
        int num;
        String s;
        //-----------------
        for (int i = 0; i < myarray.length; i++) {
            s = JOptionPane.showInputDialog("insert numbers " + i);
            num = Integer.parseInt(s);
            myarray = num;
        }
//------------------------------
        int temp;
        for (int j = 0; j < myarray.length; j++) {
            for (int i = 0; i < myarray.length; i++) {
                if (myarray > myarray[j]) {
                    temp = myarray;
                    myarray = myarray[j];
                    myarray[j] = temp;
                }
            }
        }

        for (int i = 0; i < myarray.length; i++) {
            System.out.println(myarray);
        }
        //----------------------------------------
    }
}

انا لم يظهر معى الخطأ الذى قولته

لكن ظهر معى خطأ انك تخطيت حدود المصفوفه

لانك دائما كنت تكتب

$i<=myarray.length

وعلامه الـ = هذه تجعلك تتخطى حدود المصفوفه

يجب عليك الكتابه بالـ java naming conventions

لانك تقريبا شغال PHP متعود تكتب قبل كل متغير $

وهذا يخالف الـ java naming conventions

بالتوفيق اخى الكريم :)

Software Developer
Mahmoudkelany.com


 

#3

ماذا لو تم تغيير الكود ليصبح

      for(int j=1;j<myarray.length;j++){


        for(int i=0;i<myarray.length-j;i++){

        if(myarray > myarray[i+1]){
            desc = myarray;
            myarray = myarray[i+1];
            myarray[i+1] = desc;
        }
    }
}

؟

#4

المشكلة من عندي

مشكورين على الردود,,

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…