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

علامات طلاب و ترتيبها و اجراء عمليات عليها

بدأه عاشق مريوم في 31 أكتوبر 2008 · 13 رد · 995 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

Create a Student class having the following:

Fields:

sid to represent student id in the following format S0000xxx where xxx will be a unique number. Note, sid must be 8 characters long.

Valid sid's:

S0000001,S0000123 ,S0000999

Invalid sid's:

S00001, S000022, S000012345

gpa to represent the students gpa and valid range is 0.0 – 4.0

Constructors

Student( ) that initializes sid & gpa to default values

Student with 2 parameters for sid & gpa

Student with one parameter for sid

Setters & getters for each field

Create another class called AUK that will create 1000 students, each having a unique sid, and assigns each student a random gpa score between 0.0 – 4.0.

Print out the Deans List in ascending order by gpa having the student’s id and their gpa. Deans List is any student with a gpa of 3.75 or higher.

Note,the gpa must be displayed as x.yy where x is a digit between 0-4 and yy is any 2 digits. This applied to any gpa output to the screen.

Print out the list of students on Probation in ascending order by gpa, those student with a gpa below 2.0. Print their student id and their gpa

Print out the average gpa of students in the Deans List and the average gpa of those students on probation.

Print out the average gpa of students not on the Dean List and not on the Probation list.

For generating random number you will need:

double r= (Math.random() * 4.0);

The above statement will generate a random number between 0.0 and 4.0

#2

أعتذر منك أخي

نحن لا نقدم حلول

نحن نساعدك في ما تتوقف عنده

أرنا محاولاتك وسنساعدك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

فعلاً كلام الأخ علاء مضبوط 100% لأنه لو طرحلك الكود جاهز لا أنت بتستفيد ولا هو يعتبر ساعدك

حاول ولو حتى تبدأ تعرف المتغيرات ولا إنك تاخذ الكود جاهز وهذا لمصلحتك <== يعجبك لما يتفلسف :)

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

تقبل مروري أخي


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#4

مشكورين لو اعرف جان كتبت وما طلبت من احد انا لما اقرا الكود افهمه واعرف اطبقه مره ثانيه شلون اكتب شي انا مااعرفه حدي اكتب كلاس وكنتستراكتر عادي ماعرف شلون اسويه يونيك نمبر ولا اعرف اسوي السورت

#5

إذن فأنت بحاجة لتتعلم ذلك

لدينا هنا في القسم مجموعة جيدة من الدروس للمبتدئين

وكونك لديك واجب فهذه مشكلتك

كان حرياً بك أن تعمل على التعلم مسبقاً

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#6

اشكرك حدك حبطتني

#7

طيب كيف مطلوب منكم Project بالجافا إذا ما تعرفوا جافا ... شيء عجيب

سبحان الله وبحمده ... سبحان الله العظيم

#8

مجهود ذاتي

#9

فكر قليلا وحاول وأعرض المحاوله ،،

الرقم :

S0000xxx

يعني عندما يقوم المستخدم بادخال رقم sid ، يجب التأكد من أنه 8 خانات ، وهو غير مكرر لأحد .. جمله if بسيطه وتحقق من انه الحروف 8 وأنها ليست لأحد أخر ، فقط :) .

الترتيب ، هناك طريق كثيره أبحث في google عن Bubble sort in java وستجد المئات ، أو أكتب sorting in java وبقليل من البحث ستحصل على مرادك ..

بالتوفيق ،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#11

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

بعد إذن أساتذي الخبراء

أضع حل لهذا البرنامج أرجو من خبرائي التعليق

public class Student {

	private String sid = "S0000000";
	private double gpa = 0.0;

	public Student(){}

	public Student(String id, double gp){
		setSid(id);
		setGpa(gp);
	}

	public Student (String id){
		setSid(id);
	}

	private boolean checkValidSid(String id){
		char leftPart[] = new char[5];
		char rightPart[] = new char[3];
		int xxx;
		String right = "S0000";

		if (id.length() != 8) 
			return false;
		id.getChars(0, 5, leftPart, 0);
		id.getChars(5, 8, rightPart, 0);

		try {
			xxx = Integer.parseInt(String.valueOf(rightPart));
		}
		catch (NumberFormatException e){
			return false;
		}

		return right.equalsIgnoreCase(String.valueOf(leftPart));
	}

	public void setSid(String id){
		if (checkValidSid(id))
			sid = id;
	}

	public void setGpa(double gp){
		if (gp >= 0.0 && gp <= 4.0)
			gpa = gp;
	}

	public String getSid(){
		return sid;
	}

	public double getGpa(){
		return gpa;
	}

	@Override
	public String toString(){
		return String.format("sid = %s\tgpa = %.2f",getSid(),getGpa() );
	}
}

public class AUK {

	/**
	 * @param args the command line arguments
	 */
	public static void quickSort(Student st[],int left, int right){
		if (right <= left) return; 
		int i = partition(st, left, right); 
		quickSort(st, left, i-1); 
		quickSort(st, i+1, right); 
	}

	public static int partition(Student st[],int left, int right){
		int i = left-1, j = right; 
		Student s = new Student(st.getSid(),st.getGpa()); 
		for (;;){ 
			while (st[++i].getGpa() < s.getGpa());
			while (s.getGpa() < st[--j].getGpa())
				if (j == left) break;
			if (i >= j) break; 
			exch(st, i, j); 
		} 
		exch(st, i, right); 
		return i; 
	}

	public static void exch(Student st[],int i, int j){
		Student tmp = new Student();
		tmp.setSid(st.getSid());
		tmp.setGpa(st.getGpa());
		st.setSid(st[j].getSid());
		st.setGpa(st[j].getGpa());
		st[j].setSid(tmp.getSid());
		st[j].setGpa(tmp.getGpa());
	}

	public static void main(String[] args) {

		Student stdnt[] = new Student[1000];
		int deanCount = 0;
		int probCount = 0;
		double deanSum = 0.0;
		double probSum = 0.0;
		double nDnPSum = 0.0;

		for (int i = 0; i < 1000; i++){
			stdnt=new Student((String.format("S0000%03d", i)),Math.random() * 4.0);

		}
		quickSort(stdnt,0,stdnt.length - 1);

		System.out.println(
				"Deans List in ascending order by gpa having the students ..");

		for (int i = 0; i < 1000; i++)
			if (stdnt.getGpa() >= 3.75 ){
				System.out.println(stdnt);
				deanCount++;
				deanSum += stdnt.getGpa();
			}
		System.out.println("The average gpa of students in the Deans : " +
				deanSum /(double)deanCount);

		System.out.println(
			"The list of students on Probation in ascending order by gpa");

	   	for (int i = 0; i < 1000; i++)		 
			if (stdnt.getGpa() < 2.00 ){
				System.out.println(stdnt);
				probCount++;
				probSum += stdnt.getGpa();
			}
		System.out.println("The average gpa of students on Probation : " +
				probSum /(double)probCount);


		for (int i = 0; i < 1000; i++)
			if (stdnt.getGpa() < 3.75 && stdnt.getGpa() >= 2.00 )
				nDnPSum += stdnt.getGpa();


		System.out.println(
				"The average gpa of students not in Dean and not on Probation : " +
				nDnPSum /(double)(1000 - (deanCount + probCount)));
	}

}
#12

اشكركم على مساعدتكم ما قصرتوا

#13

حل جيد أخ السيد عبد الحليم

لدي ملاحظة سريعة على الحل

حاول أن لا تضع أرقام ثابتة في الكود مباشرة

وإنما أضيفها كثابت

لسببين:

1- سهولة التعديل لو أردت التعديل

2- الوضوع لقارئ الشيفرة (قد يكون قارئ الشيفرة أنت لو احتجت لها)

أخيراً أتمنى لو أنك لم تضع الحل

نحن قادرون على أن نساعد صاحب الموضوع

بل ويسعدنا ذلك بشدة

لكن نريد أن نعلمه أن اعتمد على نفسك

ثم اسأل في ما صعب عليك

ملاحظة: لم أطبق الكود خاصتك لكني أعجبني الترتيب الجيد

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#14

أشكرك يا أستاذي على هذه النصائح

وأنا آسف

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

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

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

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

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