الوقت/التاريخ الآن هو الإثنين مايو 20, 2024 3:59 am

2 نتيجة بحث عن int

[Java]الطرق المختلفة لتحويل أنواع المتغيرات Integer to String و العكس

أهلا بكم 

فى هذا المقال سنحاول شرح الطرق المختلفة للتحويل ما بين المتغيرات الرقمية من نوع #Integer الى متغيرات نصية #String

1_التحويل باستخدام تحويل باستخدام Integer.toString 

تحتوي الفئة #Integer على أسلوب #toString الذى يقوم بإرجاع كائن سلسلة من #int ويتم كتابة الشفرة بالصيغة العامة التالية :

الكود:
public static String toString(int i)


حيث يتم تحويل الوسيطة i وإرجاعها كمثيل سلسلة. إذا كان الرقم سالباً ، فسيتم حفظ العلامة.

مثال:

الكود:
class GfG
{
public static void main(String args[])
{
   int a = 1234;
   int b = -1234;
   String str1 = Integer.toString(a);
   String str2 = Integer.toString(b);
   System.out.println("String str1 = " + str1);
   System.out.println("String str2 = " + str2);
}
}


المخرجات :
String str1 = 1234
String str2 = -1234

2_ التحويل باستخدام String.valueOf

تحتوى الفئة #String على الاسلوب #valueOf الذى يقوم بتحويل #int الى #String بكل سهولة على النحو التالى :

الكود:
class GfG
{
public static void main(String args[])
{
   int c = 1234;
   String str3 = String.valueOf(c);
   System.out.println("String str3 = " + str3);
}
}


أو يمكنك تمرير الرقم int الى الاسلوب #valueOf كمعلة له على النحو التالى :

الكود:
class GfG
{
public static void main(String args[])
{
   String str3 = String.valueOf(1234);
   System.out.println("String str3 = " + str3);
}
}



3_التحويل باستخدام Integer(int).toString

تستخدم هذه الطرق مثيل لفئة #Integer لاستدعاء طريقة #toString الخاصة بها ومن ثم استخدامها فى عملية التحويل على النحو التالى :

الكود:
class GfG
{
public static void main(String args[])
{
   int d = 1234;
   Integer obj = new Integer(d);
   String str4 = obj.toString();
   System.out.println("String str4 = " + str4);
}
}


أو على النحو التالى :

الكود:
class GfG
{
public static void main(String args[])
{
   int d = 1234;
   String str4 = new Integer(d).toString();
   System.out.println("String str4 = " + str4);
}
}


أو على النحو التالى :

الكود:
class GfG
{
public static void main(String args[])
{
   String str4 = new Integer(1234).toString();
   System.out.println("String str4 = " + str4);
}
}



4_تحويل باستخدام DecimalFormat

الفئة java.text.DecimalFormat هي فئة تقوم بتهيئة رقم إلى سلسلة....مثال:

الكود:
import java.text.DecimalFormat;
class GfG
{
public static void main(String args[])
{
   int e = 12345;
   DecimalFormat df = new DecimalFormat("#");
   String str5 = df.format(e);
   System.out.println(str5);
}
}


أو يمكنك استخدامها على النحو التالى :

الكود:
import java.text.DecimalFormat;
class GfG
{
public static void main(String args[])
{
   int e = 12345;
   DecimalFormat df = new DecimalFormat("#,###");
   String Str5 = df.format(e);
   System.out.println(Str5);
}
}


باستخدام هذه الطريقة ، يمكنك تحديد عدد المنازل العشرية وفواصل الفاصلة للقراءة.
المخرجات :
String str5 = 12,345



5_التحويل باستخدام الفئة StringBuffer

يمكنك استخدام الفئة #StringBuffer ايضا فى عملية التحويل و ذلك على النحو التالى :

الكود:
class GfG
{
public static void main(String args[])
{
   int f = 1234;
   StringBuffer sb = new StringBuffer();
   sb.append(f);
   String str6 = sb.toString();
   System.out.println("String str6 = " + str6);
}
}


أو على النحو التالى :

الكود:
class GfG
{
public static void main(String args[])
{
   String str6 = new StringBuffer().append(1234).toString();
   System.out.println("String str6 = " + str6);
}
}


المخرجات :
String str6 = 1234


6_استخدام الفئة StringBuilder

ايضا يمكنك استخدام الفئة #StringBuilder لتحويل المتغيرات الرقمية الى سلسة نصية على النحو التالى :

الكود:
class GfG
{
public static void main(String args[])
{
   int g = 1234;
   StringBuilder sb = new StringBuilder();
   sb.append(g);
   String str7 = sb.toString();
   System.out.println("String str7 = " + str7);
}
}


أو على النحو التالى :

الكود:
class GfG
{
public static void main(String args[])
{
   String str7 = new StringBuilder().append(1234).toString();
   System.out.println("String str7 = " + str7);
}
}


المخرجات :
String str7 = 1234
من طرف زهراء
في الجمعة فبراير 22, 2019 6:28 am
 
ابحث في: أساسيات اللغة Java Basics
موضوع: [Java]الطرق المختلفة لتحويل أنواع المتغيرات Integer to String و العكس
المساهمات: 0
مشاهدة: 897

[Java] الطرق المختلفة لتوليد ارقام عشوائية فى الجافا random number by java

أهلا بكم

الرقم العشوائي يعني رقمًا مختلفًا في كل مرة يتم فيها تنفيذ التطبيق وتوفر [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] العديد من الطرق لإنشاء أرقام عشوائية ضمن نطاق معين لذلك فى هذا المقال سوف نتعرف سويا على تلك الطرق و كيفية استخدامها :

الطريقة الاولى : توليد ارقام عشوائية باستخدام الفئة Random

توفر الفئة java.util.Random الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] التي يمكن أن تولد أرقام عشوائية فى نطاق رقم معين. حيث تأخذ هذه الطريقة عددًا صحيحًا كوسيطة. تمثل هذه القيمة الصحيحة الحد الأعلى للرقم العشوائي الذي سيتم إنشاؤه بواسطة هذه الطريقة ,تبدأ تلك الطريقة بتوليد رقم عشوائي من الرقم 0 حتى الحد الاعلى للرقم العشوائي الذى تم تمريرة اليها .

مثال : أكتب برنامج بلغة الجافا لتوليد ارقام عشوائية فى نطاق الرقم 50

الحل : لإنشاء رقم عشوائي بين 1 و 50 ، نقوم بإنشاء كائن من فئة java.util.Random واستدعاء طريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الخاصة به مع 50 كوسيطة. سيؤدي هذا إلى إنشاء رقم بين 0 و 49 لذلك سنقوم باضافة  الرقم 1 إلى النتيجة مما سيجعل نطاق القيمة التي تم إنشاؤها من 1 إلى 50...على النحو التالى :

الكود:

import java.util.Random;

public class test {
 
 public static void main(String[] args) {
 
 
 Random randomGenerator = new Random();
 int randomInt = randomGenerator.nextInt(50) + 1;
 System.out.println("Random number generated is : " + randomInt);
 }
}


المخرجات :
Random number generated is : 29


مثال : أكتب برنامج بلغة الجافا لتوليد عدد 5 أارقام عشوائية فى نطاق الرقم 50

الحل : فى هذا المثال طلب عدد 5 ارقام عشوائية و ليس رقم واحد كما فى المثال السابق لذلك سوف نستخدم حلقة تكرارية لتنفيذ المطلوب على النحو التالى :
الكود:

import java.util.Random;

public class test {
 
 public static void main(String[] args) {
 
 
 Random randomGenerator = new Random();
                for(int i = 0; i < 5; i++) {
                int randomInt = randomGenerator.nextInt(50) + 1;
 System.out.println("Random number generated is : " + randomInt);  
                }
 
 }
}


المخرجات :

Random number generated is : 20
Random number generated is : 26
Random number generated is : 44
Random number generated is : 7
Random number generated is : 3


الطريقة الثانية : توليد ارقام عشوائية باستخدام الفئة Math

يحتوي الفئة java.lang.Math على الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الذي يولد قيمة عشرية من النوع [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] أكبر من 0.0 وأقل من 1.0 (0.9999) ، اذن النطاق الافتراضي لهذه الطريقة 0.0 حتى 1.0

مثال : أكتب برنامج بلغة الجافا لتوليد عدد 5 أارقام عشوائية

الحل :
الكود:

public class test {
 
 public static void main(String[] args) {
 
 
 
                for(int i = 0; i < 5; i++) {
                double randomDouble = Math.random();
 System.out.println("Random number generated is : " + randomDouble);  
               }
 
 }
}


المخرجات :

Random number generated is : 0.5399298565634371
Random number generated is : 0.3914851406177742
Random number generated is : 0.6582928867493553
Random number generated is : 0.02994586334518179
Random number generated is : 0.13342139597089198

وعلى الرغم من ان الطريقة اعلاه لها نطاق محدد لتوليد ارقام عشوائية باستخدامها الا انه يمكنك ضرب القيمة التي يتم إرجاعها بطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بمقدار الذى تريدة وهذا يجعل نطاقها من 0.0 حتى الرقم الذى وضعته

مثال :أكتب برنامج بلغة الجافا لتوليد عدد 5 أارقام عشوائية فى نطاق الرقم 50 باستخدام Math.random

الحل :من أجل توليد رقم يتراوح بين 1 إلى 50 ، نضرب القيمة التي يتم إرجاعها بطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بمقدار 50. وهذا يجعل نطاقها من 0.0 إلى 49.995 على النحو التالى :

الكود:

public class test {
 
 public static void main(String[] args) {
 
 
 
                for(int i = 0; i < 5; i++) {
                double randomDouble = Math.random()*50;
 System.out.println("Random number generated is : " + randomDouble);     
               }
 
 }
}


المخرجات :


Random number generated is : 36.098268352442915
Random number generated is : 37.77195830913475
Random number generated is : 46.46593180334226
Random number generated is : 3.1068847461841855
Random number generated is : 49.468128176594774


ولكن النتيجة السابقة ليست صحيحة 100% لانه عند ضرب القيمة التي يتم إرجاعها بطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بمقدار 50. هذا يجعل نطاقها من 0.0 إلى 49.995 و ليس من 0.0 الى 50
و لحل هذه المشكلة نقوم باضافة الرقم 1. هذا يزيد من نطاقه من 1.0 إلى 50.995. إذا تم إرسال هذه النتيجة إلى متغير من نوع [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ، فسيكون النطاق من 1 إلى 50 كما هو ظاهر على النحو التالى :

الكود:

public class test {
 
 public static void main(String[] args) {
 
 
 
                for(int i = 0; i < 5; i++) {
                double randomDouble = Math.random()*50+1;
                int no =( int )randomDouble;
 System.out.println("Random number generated is : " + no);  
               }
 
 }
}


و المخرجات على النحو التالى :

Random number generated is : 27
Random number generated is : 31
Random number generated is : 49
Random number generated is : 20
Random number generated is : 1


الطريقة الثالثة : توليد ارقام عشوائية باستخدام الفئة ThreadLocalRandom

قامت Java 7 بتوفير فئة جديدة تسمى java.util.concurrent.ThreadLocalRandom . يحتوي هذا الفصل على طرق لإنشاء أرقام عشوائية. هذه الفئة مناسبة لتوليد أرقام عشوائية في بيئات متعددة .

ThreadLocalRandom فئة ThreadLocalRandom على أسلوب [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الذي يأخذ [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] يمثلان قيم الحدود الدنيا والعليا ويقوم بإرجاع عدد صحيح بين هذه القيم. ستكون النتيجة بين الحد الأدنى  والحد الأعلى .

مثال : لتوليد رقم بين 1 و 50 ، تكون الحدود الدنيا والعليا التي تم تمريرها إلى هذه الطريقة هي 1 و 51 على التوالي.

الكود:

import java.util.concurrent.ThreadLocalRandom;

public class test {
 
 public static void main(String[] args) {
 
 
         for(int i = 0; i < 5; i++) {
   int randomInt = ThreadLocalRandom.current().nextInt(1, 51);
 System.out.println("Random number generated is : " + randomInt);
                  
          }
 
 }
}


المخرجات :

Random number generated is : 20
Random number generated is : 5
Random number generated is : 3
Random number generated is : 26
Random number generated is : 48
من طرف أحمد مناع
في الإثنين فبراير 04, 2019 2:30 pm
 
ابحث في: التعامل مع حزم الجافا java package
موضوع: [Java] الطرق المختلفة لتوليد ارقام عشوائية فى الجافا random number by java
المساهمات: 1
مشاهدة: 3861

الرجوع الى أعلى الصفحة

انتقل الى: