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

مشكل في إستعمال كلاس و قراءة ملف

بدأه ابن ابي سفيان في 24 مايو 2012 · 8 رد · 526 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

مشكلتي تنحصر في الكود التالي

import java.io.IOException;
public class NewMain {
    public class Graph {
        public int[][] mat = new int[100][100];
        public int n,m;
        public class tpoint{
            public int x;
            public int y;
        }
        public tpoint pointd,pointa;
        public void cregraph () {
            try {
                System.out.print("n = ");
                n = System.in.read();
                System.out.print("m = "); 
                m = System.in.read();
            }
            catch (IOException e){
                System.out.println("Error");
            }
        }
    }
    public static void main() {
       Graph g = new Graph();
       g.cregraph();
    }
}

فالكومبايلر يظهر خطأ عند

Graph g = new Graph();

كما أنني لم أفهم طريقة قراءة ملف نصي ووضعه في مصفوفة

جربت ذلك بالنسبة لل C++ و pascla لكن في الجافا إختلط الأمر علي

type  Graph  = array[1..100,1..100]of integer;
      TGraph = record
        mat : Graph;
        n,m : integer;
      end;

procedure CreGraph(var G : TGraph);
var i,j,k : integer;
    c   : string;
    f   : TextFile;
begin
  AssignFile(f,'./text.txt');
  Reset(f);
  i := 0;
  while not EOF(f) do
  begin
    i := i + 1;
    j := 0;
    readln(f,c);
    for k := 1 to Length(c) do
      if c[k] <> ' ' then
      begin
        j := j + 1;
        G.mat[i,j] := StrToInt(c[k]);
      end;
  end;
  G.n := i;
  G.m := j;
  CloseFile(f);
end;

هذا الكود السابق بالباسكال حولت تطبيق فكرته على الجافا لكني لا أعلم طريق ذلك

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

تم تعديل هذه المشاركة بواسطة ابن ابي سفيان في 25 مايو 2012 في 13:05

نحن قوم أعزنا الله بالإسلام فإن ارتضينا العزة بغيره أذلنا الله

عمر بن الخطاب رضي الله عنه وأرضاه

#2

أين أنتم

أما من حل

نحن قوم أعزنا الله بالإسلام فإن ارتضينا العزة بغيره أذلنا الله

عمر بن الخطاب رضي الله عنه وأرضاه

#3

اعتقد ان مشكلتك هي انك قمت بوضع public class داخل public class فالاستدعاء يكون بهذا الشكل

new MianClass.Graph()

او

new MainClass().Graph();

حسب نوع الكلاس ان كان static ام لا

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#4

ما الذي تقصده بـ static

ما هو الفرق بين كلاس static وغيرها؟

نحن قوم أعزنا الله بالإسلام فإن ارتضينا العزة بغيره أذلنا الله

عمر بن الخطاب رضي الله عنه وأرضاه

#5

جربت الطريقتين لكن لم أنجح

import java.io.IOException;
public class NewMain {
    public class Graph {
        public int[][] mat = new int[100][100];
        public int n,m;
        public class tpoint{
            public int x;
            public int y;
        }
        public tpoint pointd,pointa;
        public void cregraph () {
            try {
                System.out.print("n = ");
                n = System.in.read();
                System.out.print("m = "); 
                m = System.in.read();
            }
            catch (IOException e){
                System.out.println("Error");
            }
        }
    }
    public static void main() {
       Graph g = new NewMain.Graph();
       Graph g = new NewMain.()Graph();
    }
}

هل يمكنك التعديل على الكود حتى يعمل؟

نحن قوم أعزنا الله بالإسلام فإن ارتضينا العزة بغيره أذلنا الله

عمر بن الخطاب رضي الله عنه وأرضاه

#6

يا جماعة أين أنتم هل هذا المشكل معقد لهذه الدرجة

نحن قوم أعزنا الله بالإسلام فإن ارتضينا العزة بغيره أذلنا الله

عمر بن الخطاب رضي الله عنه وأرضاه

#7

حسن حسن لقد وجد الحل

أنا لم أعمل constructor للكلاس

بارك الله فيكم على كل حال

نحن قوم أعزنا الله بالإسلام فإن ارتضينا العزة بغيره أذلنا الله

عمر بن الخطاب رضي الله عنه وأرضاه

#8

عزيزي الامر ينطبق ايضا على الreference

 NewMain.Graph g = new NewMain.Graph();

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#9

بارك الله فيك

أعتذر عن التأخر في الرد

وذلك بسبب مشروع التخرج

وللأسف أنا تخليت عن الجافا ولجأت إلى C++ لأكمل بها مشروعي

نحن قوم أعزنا الله بالإسلام فإن ارتضينا العزة بغيره أذلنا الله

عمر بن الخطاب رضي الله عنه وأرضاه

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