الوقت/التاريخ الآن هو الجمعة أبريل 26, 2024 4:08 pm
2 نتيجة بحث عن print
اكتب برنامج Java لطباعة نمط معين من النجوم
أهلا بكم :يمكنك طباعة شكل مثلث من النجوم (*) باستخدام حلقة for وأيضًا استخدام حلقة while ، هنا نناقش كيفية طباعة انماط مختلفة من النجوم بطريقة بسيطة وسهلة للغاية. لكن قبل تعلم هذا الموضوع ، اقرأ بعناية أولاً مفهوم حلقة for ومفهوم حلقة while بالتفصيل من خلال الرابط التالى :
ثم أتباع الخطوات التالية :
1_تحديد عدد الصفوف و الاعمد للنمط المطلوب :
حتى تستطيع رسم تلك الاشكال يجب أن تحدد عدد الصفوف و الاعمد حيث أن لكل شكل عدد من صفوف #rows و أعمدة #column كما فى الصورة التالية :
2_إستخدام حلقات التكرار
لطباعة أنماط من النجوم (*) في برمجة Java ، نحتاج إلى استخدام حلقتين للتكرار ،
- الأولى حلقة خارجية تكون مسؤولة عن طباعة الصفوف باستخدام #print التى تطبع على طول الصف بدون سطر جديد
- والثانية حلقة داخلية تكون مسؤولة عن طباعة الاعمدة باستخدام الدالة #println التى تطبع على سطر جديد
مثال 1:طباعة نمط بسيط مكون عامود واحد وعدد 5 صفوف من النجوم
- الكود:
public class Main
{
public static void main(String args[])
{
//حلقة تكرار تبدء من الصفر و تنتهى بعدد الصفوف
for(int i=0;i<5;i++){
System.out.println("*");
}
}
}
Output
**
*
*
*
مثال 2 :طباعة نمط بسيط مكون 3 أعمدة وعدد 5 صفوف من النجوم
- الكود:
public class Main
{
public static void main(String args[])
{
//حلقة تكرار تبدء من الصفر و تنتهى بعدد الصفوف
for(int i=0;i<5;i++){
// حلقة تكرار داخلية لطباعة عدد الاعمدة
for(int j=0;j<3;j++){
System.out.print("*");
}
// طباعة صف فارغ فى كل دور
System.out.println(" ");
}
}
}
Output
******
***
***
***
- الاولى : حلقة خارجية للدوران 5 مرات ...فى كل دورة يتم تنفيذ حلقة الدوران الداخلية مع طباعة سطر فارغ
- الثانية : حلقة داخلية للدوران 3 مرات ...فى كل مرة يتم طباعة (*)
مثال 3 :طباعة نمط بسيط مكون من عدد 5 صفوف من النجوم و بأعمدة متزايدة بمعنى أن :
الصف الاول مكون من عامود واحد
الصف الثاني مكون من 2 عامود
الصف الثالث مكون من 3 عامود
........الخ
- الكود:
public class Main
{
public static void main(String args[])
{
//حلقة تكرار تبدء من الصفر و تنتهى بعدد الصفوف
for(int i=0;i<5;i++){
// حلقة تكرار داخلية لطباعة عدد الاعمدة
// يتم طباعة الاعمدة كلما كانت رقم العمود أقل من رقم الصف
for(int j=0;j<=i;j++){
System.out.print("*");
}
// طباعة صف فارغ فى كل دور
System.out.println(" ");
}
}
}
Output
** *
* * *
* * * *
* * * * *
- الاولى : حلقة خارجية للدوران 5 مرات ...فى كل دورة يتم تنفيذ حلقة الدوران الداخلية مع طباعة سطر فارغ
- الثانية حلقة داخلية للدوران بعدد دوران غير ثابت استنادا على عداد الحلقة الاولى الذى يتم الإشارة إلية بالحرف i ويتم الإشارة عداد الحلقة الداخلية بالحرف j بحيث عداد الحلقة الداخلية أقل من أو يساوي عداد الحلقة الخارجية فى كل دورة و يمكن بمعادلة رياضية على النحو التالى :j<=i
بمعنى أن الدورة الاولى فى الحلقة الاولى سيتم طباعة نجمة واحدة فقط لان حلقة الدوران الثانية ستقوم بعمل دورة واحدة فقط و التى بداخلها جملة الطباعة للنجمة و الدورة الثانية يطبع نجمتين ....الخ حتى يتم الدوران 5 مرات
مثال 4 :طباعة نمط بسيط مكون من عدد 5 صفوف من النجوم و بأعمدة متناقصة بمعنى أن :
الصف الاول مكون من 5 أعمدة
الصف الثاني مكون من 4 عامود
الصف الثالث مكون من 3 عامود
........الخ
- الكود:
public class Main
{
public static void main(String args[])
{
//حلقة تكرارية لطباعة مصفوف متناقصة تبدء من عدد الصفوف
for(int i=5;i>=0;i--){
// حلقة تكرار داخلية لطباعة عدد الاعمدة
// يتم طباعة الاعمدة كلما كانت رقم العمود أقل من رقم الصف
for(int j=0;j<=i;j++){
System.out.print("*");
}
// طباعة صف فارغ فى كل دور
System.out.println(" ");
}
}
}
Output
* * * * *
* * * *
* * *
* *
*
شرح الكود :
الكود أعلاه هو نفس الكود الخاص بالمثال 3 تقريبا و الفرق بينهما مايلى :
فى المثال 3 عداد الحلقة الخارجية يبدء من الصفر و يتزايد العداد فى كل دورة بقيمة 1 حتى تنتهي الحلقة عندما بصل الى اقل من القيمة 5
فى المثال 4 عداد الحلقة الخارجية يبدء من 5 و يتناقص العداد فى كل دورة بقيمة 1 حتى تنتهي الحلقة عندما بصل الى القيمة 0
مثال 5 :
- الكود:
public class Main
{
public static void main(String args[])
{
//حلقة تكرار تبدء من الصفر و تنتهى بعدد الصفوف
for(int i=0;i<5;i++){
//حلقة داخلية لطباعة مساحة فارغة
for (int k=(5-i); k>=0; k--)
{
//يطبع مسافة بين نجمتين
System.out.print(" ");
}
// حلقة تكرار داخلية لطباعة عدد الاعمدة
// يتم طباعة الاعمدة كلما كانت رقم العمود أقل من رقم الصف
for(int j=0;j<=i;j++){
System.out.print("*");
}
// طباعة صف فارغ فى كل دور
System.out.println(" ");
}
}
}
شرح الكود :
الكود أعلاه هو نفس كود المثال 3 مع فارق بسيط هو اضافة حلقة داخلية أخري لطباعة فراغ بين نجمتين تلك الحلقة تبدء من قيمة عدد الصفوف منقوص منها قيم عداد الحلقة الخارجية
مثال 6 : طباعة مثلث من النجوم
- الكود:
public class Main
{
public static void main(String args[])
{
int i, k,j; // تعريف عدادت حلقات الدوران
int row = 5; // تعريف حجم الصفوف المراد طباعتها
//حلقة الدوران الخارجية تبدء بالصفر و تنتهى بحجم الصفوف
for (i=0; i<row; i++)
{
//حلقة دوران داخلية تبدء من عدد الصفوف مطروح منه
// رقم الدورة فى الحلقة الخارجية
//مع تناقص الدوران بقيمة واحد و تقف حينما تصل للرقم 1
for (k=(row-i); k>1; k--)
{
//طباعة فراغ بين نجمتين
System.out.print(" ");
}
//حلقة دوران داخلية أخرى لطباعة النجوم
// تبدء من الصفر وتنتهى حينما تكون رقم الدورة فيها اقل من أو يساوي
// رقم الدورة الخارجية
for (j=0; j<=i; j++ )
{
//طباعة نجمة
System.out.print("* ");
}
//طباعة سطر فارغ
System.out.println();
}
}
}
Output:
*
* *
* * *
* * * *
* * * * *
- في السبت يناير 29, 2022 9:46 am
- ابحث في: تمارين بلغة الجافا مع الحل Java Solved Programs with solutions
- موضوع: اكتب برنامج Java لطباعة نمط معين من النجوم
- المساهمات: 0
- مشاهدة: 4372
طباعة جدول البيانات JTable مباشرة باستخدام table.print
اهلا بكميوفر العنصر الرسومي #JTable الأساليب التي تتيح لك تنفيذ مهام الطباعة الأساسية والمتقدمة التى تحتاجها إلى طباعة جدول ، وهى الطريقة #print التى تستخدم لطباعة الجدول مباشرة .
تحتوي هذة الطريقة على العديد من النماذج ذات مجموعات الوسائط المختلفة. تعد هذه الطريقة طاولتك ، وتحصل على كائن قابل للطباعة ، وترسله إلى طابعة.
و أسهل طريقة لطباعة الجدول الخاص بك هي استدعاء الطريقة print بدون معلمات.كما فى الشفرة التالية :
- الكود:
try {
table.print();
} catch (PrinterException pe) {
System.err.println("Error printing: " + pe.getMessage());
}
لكن عند استدعاء طريقة الطباعة بدون أي معلمات ، يتم عرض مربع حوار طباعة ، ثم تتم طباعة الجدول الخاص بك بشكل تفاعلي في وضع FIT_WIDTH بدون رأس أو تذييل
أما عند استدعاء طريقة الطباعة بكافة المعلمات ، فإنك تستطيع استخدام ميزات الطباعة مثل وضع الطباعة ورأس تذييل الصفحة وسمات الطباعة وأيضًا ما إذا كنت تريد إظهار مربع حوار طباعة أم لا ، وما إذا كنت تريد طباعة بشكل تفاعلي أو غير تفاعلي.
و تلك المعلمات على النحو التالى :
- الكود:
boolean complete = table.print(JTable.PrintMode printMode,
MessageFormat headerFormat,
MessageFormat footerFormat,
boolean showPrintDialog,
PrintRequestAttributeSet attr,
boolean interactive,
PrintService service);
دعونا الان نلقي نظرة على تلك المعلمات وكيفية استخدامها :
1_ المعلمة #PrintMode :
تلك المعلمة مسؤولة عن تحديد وضعية الطباعة التى تحدد قياس المخرجات الطباعة. يمكنك طباعة الجدول الخاص بك في أحد الأوضاع التالية:
- PrintMode.NORMAL
- PrintMode.FIT_WIDTH
في الوضع العادي PrintMode.NORMAL يتم طباعة جدول بحجمه الحالي. إذا لم تتناسب الأعمدة مع الصفحة ، فإنها تنتشر عبر صفحات إضافية وفقًا لـ #ComponentOrientation في الجدول.
أما في وضع FIT_WIDTH ، يكون للجدول حجم أصغر ، إذا لزم الأمر ، لملاءمة جميع الأعمدة في كل صفحة. لاحظ أن كلا من العرض والارتفاع يتم قياسهما لتوفير إخراج بنفس نسبة الارتفاع. في كلا الوضعين ، تنتشر الصفوف عبر عدة صفحات بالتتابع مع أكبر عدد ممكن من الصفوف على الصفحة.
2_ المعلمتين #headerFormat# / footerFormat
تم توفير الرؤوس والتذييلات بواسطة معلمات #MessageFormat. تسمح هذه المعلمات بتنسيق نص لرأس وتذييل الصفحة. على النحو التالى :
- الكود:
MessageFormat header = new MessageFormat("تقرير بيانات الطلاب");
MessageFormat footer = new MessageFormat("Page - {0}");
يمكنك ملاحظة من الشفرة اعلاه أنه يمكنك إدراج رقم صفحة باستخدام {0}.
3_ المعلمة #showPrintDialog
تسميح هذه المعلمة باظهار مربع حوار الطباعة التى يمكنك من خلالة أن تحدد طابعة , عدد النسخ , تغيير سمات الطباعة ,إلغاء الطباعة قبل أن تبدأ ....الخ
قد تلاحظ أن مربع حوار الطباعة لا يحدد العدد الإجمالي للصفحات في النسخة المطبوعة. وذلك لأن تطبيق طباعة الجدول يستخدم واجهة برمجة التطبيقات القابلة للطباعة وأن العدد الإجمالي للصفحات غير معروف قبل وقت الطباعة
4_المعلمة #interactive
هذه المعلمة تحدد وضع الطباعة بشكل تفاعلي أو غير تفاعلي ...في الوضع التفاعلي ، يظهر مربع حوارى لظهر تقدم عملية الطباعة مع خيار إلغاء الطباعة كما فى الصورة التالية :
أما فى الوضع غير التفاعلى يمكنك طباعة الجدول الخاص مباشرة ، تبدأ الطباعة فورًا في مؤشر ترابط إرسال الأحداث وتمنع تمامًا أي أحداث تتم معالجتها. من ناحية ، يحتفظ هذا الوضع بأمان الجدول ضد أي تغييرات حتى تتم الطباعة
واليكم مثال كامل لعملية الطباعة الجدول مع بعض التنسيق :
- الكود:
private void print_Table() {
MessageFormat header = new MessageFormat("تقرير بيانات الطلاب");
MessageFormat footer = new MessageFormat("Page - {0}");
try {
/* print the table */
boolean complete = jTable1.print(JTable.PrintMode.FIT_WIDTH, header, footer,
true, null,
true, null);
/* if printing completes */
if (complete) {
/* show a success message */
JOptionPane.showMessageDialog(this,
"تم الطباعة",
"حالة الطباعة",
JOptionPane.INFORMATION_MESSAGE);
} else {
/* show a message indicating that printing was cancelled */
JOptionPane.showMessageDialog(this,
"إلغاء الطباعة",
"حالة الطباعة",
JOptionPane.INFORMATION_MESSAGE);
}
} catch (PrinterException pe) {
/* Printing failed, report to the user */
JOptionPane.showMessageDialog(this,
"خطأ : " + pe.getMessage(),
"معلومات الطباعة",
JOptionPane.ERROR_MESSAGE);
}
}
- في الأربعاء نوفمبر 27, 2019 4:25 pm
- ابحث في: واجهة المستخدم الرسومية Java Swing
- موضوع: طباعة جدول البيانات JTable مباشرة باستخدام table.print
- المساهمات: 3
- مشاهدة: 1459
أمس في 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
أمس في 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft