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

تمرير مصفوفة كباراميتر

بدأه hind@prg في 27 أكتوبر 2014 · 3 رد · 838 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

عندي Class اسمها Screen تنشئ لي على constructor مصفوفة كانها شاشة بحيث امرر عدد الاعمده و الاسطر كباراميترات 

public class Screen{
	Scanner sc = new Scanner(System.in);
		
	public Screen(int nbLig,int nbCol){ //Constructor
				
		String ecran[][]; 
		ecran = new String[nbLig][nbCol]; 
		}
}

أريد على البرنامج الاصلي Main إنشاء object بحيث أكتب داخل المصفوفة بهذا الشكل

Screen S1 = new Screen(nbL,nbC);

أنشأت Method  داخل Class Screen تقوم بعملية القراءة

	public void Lecture() {				for(int i = 0 ; i < Ecran.length ; i++){ //boucle de lecture de la matrice			for(int j = 0 ; j < Ecran.length ; j++)			{				System.out.println("Donner un entier:");				Ecran[j] = sc.nextInt();			}		}			}

لكن يظهرلي خطأ لا أدر كيف امرر المصفوفة بين الـ Methods ولا من البرنامج الاصلي الى الماين الرجاء المساعدة

#2

الكود بعد التصحيح :

import java.util.Scanner;public class NewArray {    int matrix[][];    Scanner src = new Scanner(System.in);    public NewArray(int rows, int columns) {        matrix = new int[rows][columns];    }    public void read() {        for (int i = 0; i < matrix.length; i++) {            for (int j = 0; j < matrix.length; j++) {                System.out.print("[ligne : " + i + ", colonne : " + j + "] = ");                matrix[j] = src.nextInt();            }        }    }    public void display() {        for (int i = 0; i < matrix.length; i++) {            for (int j = 0; j < matrix.length; j++) {                System.out.print(matrix[j] + "\t");            }            System.out.println();        }    }    public static void main(String args[]) {        NewArray na = new NewArray(2, 3);        na.read();        System.out.println("\nMatrix : ");        na.display();    }}

بالتوفيق.

#3

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

#4

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

 

اخي الكريم بارك الله فيك قد استطعت ان اتمم كثير من الدوال بفضل مساعدتك 

عندي داله اخرى في التمرين تطلب ان ارسم إطار حول المصفوفه فكرت ان اخلي كل الخانات الافقية العلوية و السفلية تأخد القيمة " | " و العمودية تاخد " - " فعملت الدالة التالية لكن النتيجة ما كانت صحيحه

public void tracerCadre(){		for (int i = 0; i < screen.length; i++) {			for (int j = 0; j < screen.length; j++) {				if(i == 0 || i == screen.length -1)					screen[j] = "|";				if (j == 0 || j == screen.length -1) 					screen[j] = "-";							}		}	}

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