تمت الإجابة Java - التحويل من الصغير لـ الكبير .

تم تحميل الصفحة في 0,8291403 ثانية
Java - التحويل من الصغير لـ الكبير .
الحالة
مغلق و غير مفتوح للمزيد من الردود.

LÖWE

Active DeveloPer
rankrankrankrank
إنضم
10 مارس 2011
المشاركات
1,534
الإعجابات
970
النقاط
113
السلام عليكم

بالجامعه تم شرح كود تحويل من الصغير لـ الكبير والعكس .

لكن الفكره لم تدخل راسي بشكل كامل .

مثلا ما هي علاقه Char او ما هي علاقه معرفه عدد الحروف في الكلمه ؟

هذا الكود

[Java] public class Zeichen { public static String umwandlung(String s) { Strin - Pastebin.com

واذا ممكن عمل كود مشابه له يكون مفصل اكثر .

وشكرا لكم .
 

Mariio

.:: مُراقب أقسام البرمجة ::.
rankrankrankrankrankrank
طاقم الإدارة
إنضم
1 مايو 2007
المشاركات
4,883
الإعجابات
4,431
النقاط
133
الإقامة
USA
السلام عليكم

بالجامعه تم شرح كود تحويل من الصغير لـ الكبير والعكس .

لكن الفكره لم تدخل راسي بشكل كامل .

مثلا ما هي علاقه Char او ما هي علاقه معرفه عدد الحروف في الكلمه ؟

هذا الكود

[Java] public class Zeichen { public static String umwandlung(String s) { Strin - Pastebin.com

واذا ممكن عمل كود مشابه له يكون مفصل اكثر .

وشكرا لكم .

وعليكم السلام
علاقة char هيه ان string في الحقيقه هوه مصفوفه array من نوع char وبما ان char يخزن قيمه واحده فسوف تدخل حلقة على الكلمة وناخذ كل حرف للمقارنه اذا كان صغير او كبير ونقلب الحرف
دوال isLowerCase و isUpperCase تقارن اذا كان الحرف صغير او كبير وثم تقلب النتيجه من خلال toUpperCase و toLowerCase وفي الغالب هذه الدوال موجوده في مكتبه string (لا اعلم بلجافا اذا المكتبه مختلفه)

تستطيع الوصول لنفس الناتج من خلال حلقة for تعمل لوب على كل حرف داخل الكلمة وتقلب الناتج او تجعل الحروف كلها صغيره او كلها كبيرة
 
الإعجابات: LÖWE

LÖWE

Active DeveloPer
rankrankrankrank
إنضم
10 مارس 2011
المشاركات
1,534
الإعجابات
970
النقاط
113
اسعدني ردك.

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

شكرالك
 

Mariio

.:: مُراقب أقسام البرمجة ::.
rankrankrankrankrankrank
طاقم الإدارة
إنضم
1 مايو 2007
المشاركات
4,883
الإعجابات
4,431
النقاط
133
الإقامة
USA
اسعدني ردك.

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

شكرالك
نعم الطريقه تجربة حرف حرف :zxcv29:
بلتوفيق
 
الإعجابات: LÖWE

LÖWE

Active DeveloPer
rankrankrankrank
إنضم
10 مارس 2011
المشاركات
1,534
الإعجابات
970
النقاط
113
هنا السسؤال اخوي .. كيف اخليها تجرب حرف حرف ..
الباقي فهمته .
وشكرا لك
 

Mariio

.:: مُراقب أقسام البرمجة ::.
rankrankrankrankrankrank
طاقم الإدارة
إنضم
1 مايو 2007
المشاركات
4,883
الإعجابات
4,431
النقاط
133
الإقامة
USA
هنا السسؤال اخوي .. كيف اخليها تجرب حرف حرف ..
الباقي فهمته .
وشكرا لك
من خلال اللوب مثلا فور لوب تدخل السترنع وثم تكتب متغير char وتعمل لوب على طول السترنغ

مثال بلسي بلس بلس

C++:
string s = "abcde";
 
for (int i=0; i<s.size(); i++) {
    cout << s[i];
}
سوف يطبع كل حرف على الشاشه وانت بدل ما تطبع سوف تقوم بعكس النتيجه
اولا التحقق اذا كان كبير او صغير من خلال if وثم اذا تحقق الشرط تغير واذا لم يتحقق تغير الى الاخر
 
إنضم
27 مايو 2014
المشاركات
297
الإعجابات
391
النقاط
63
العمر
19
الإقامة
Marruecos
في الحقيقة الدالة مفهومة , دورها هو الدوران على جميع أحرف النص عبر دالة charAt التي تجلب لك الحرف أبتداءا من مكانه ,
ثم تقوم بالتحقق اذا الحرف صغير , ان كان صغير تقوم بتكبيره و اذا كان كبير تقوم بتصغيره .
يعني العلاقة بين معرفة عدد الحروف هو معرفة عدد الدورات الواجب القيام بها , لم أعلم هل وصلتك الفكرة أم لا .
هناك أيضا دالة مشابهة تقوم بالدوران على جميع الأحرف و لكن دورها عكس النص :

Java:
String reversed = "";

for(int i = name.length() - 1;i >=0 ;i--){
    reversed += name.charAt(i);
}
كود مشابه لما تريده :

Java:
public class Zeichen {
    public static String umwandlung(String s) {



        String r = "";

        for(int i = 0 ;i<s.length();i++){
           
            // Get the char at position i
            char c = s.charAt(i);
           
            // Check if the char is LowerCase
            if (Character.isLowerCase(c)) {
                r += Character.toUpperCase(c);
            }
            else {
                //if (Character.isUpperCase(c)) \{
                r += Character.toLowerCase(c);
                //\}
            }
        }
        return r;
    }
}
 

Spawner Freezo

.:: مُساعد مُشرف أقسام البرمجة ::.
rankrank
إنضم
12 أبريل 2015
المشاركات
355
الإعجابات
533
النقاط
93
العمر
22
الإقامة
Morocco
وعليكم السلام

----

كما قال الأخ الدالة بسيطة ومفهومة + أصلاً الدالة تتحقق حرف بحرف ... لا أفهم ماذا تريد بالضبط :




يمكنك أيضاً التحقق ما إذا كان الحرف Upper Case أو lower case بستعمال الكود المرفق من طرف يوسف :


C#:
public static String umwandlung( String s ) {
    // Create an empty string where our converted string will be stored.
    String r = "";
    
    // We will "loop" on each character of the String "s"
    for ( int z = 0; z < s.length(); z++ )
    {
      // return the character of the string based on the position of "z"
      char c = s.charAt( z );
      /*
            |  c -= ( c >= 97 && c <= 122 ) ? 32 : -32;
            |  Check if the character is a lower case and substracte 32
            |
            |  >>>> How does it work ?
            |
            |  c -> Character, 97 -> 'a' in decimal, 122 -> 'z' in decimal
            |  So if it's between 'a' and 'z' then it's a lower case
            |  You can also use 'A' and 'Z' or just one of them, then use "if/else"
            |  We substracte 32 because it's the difference between lower and upper case
            | 'a' is 97 and 'A' is 65 so the difference is 32
            | So we just invert the characters.
      */
      c -= ( c >= 97 && c <= 122 ) ? 32 : -32;
      r += c;
    }
    // Let's return our final result string.
    return r;
  }

بالتوفيق
 

LÖWE

Active DeveloPer
rankrankrankrank
إنضم
10 مارس 2011
المشاركات
1,534
الإعجابات
970
النقاط
113
اشكرك , بردي السابق كتبت انه الفكره وصلت لي تماما وعملت الوظيفه كما يجب .

عموما في سؤال جديد يدور بذهني الا وهو اضافه الى سلسله مثلا
String f;
String b;
f += b;
هل تمثل وظيفه

x = f+b;

?

شكرا لكم
 

Spawner Freezo

.:: مُساعد مُشرف أقسام البرمجة ::.
rankrank
إنضم
12 أبريل 2015
المشاركات
355
الإعجابات
533
النقاط
93
العمر
22
الإقامة
Morocco
اشكرك , بردي السابق كتبت انه الفكره وصلت لي تماما وعملت الوظيفه كما يجب .

عموما في سؤال جديد يدور بذهني الا وهو اضافه الى سلسله مثلا


هل تمثل وظيفه

x = f+b;

?

شكرا لكم
لم أرى رد ... كنت اكتب في ذلك الوقت

f += b -> f = f + b

or

f -= b -> f = f - b

فهي تضيف b-إلى f، فبتالي f يتغير.

x = f + b

فهنا x الذي يتغير
 
إنضم
27 مايو 2014
المشاركات
297
الإعجابات
391
النقاط
63
العمر
19
الإقامة
Marruecos
وعليكم السلام

----

كما قال الأخ الدالة بسيطة ومفهومة + أصلاً الدالة تتحقق حرف بحرف ... لا أفهم ماذا تريد بالضبط :




يمكنك أيضاً التحقق ما إذا كان الحرف Upper Case أو lower case بستعمال الكود المرفق من طرف يوسف :


C#:
public static String umwandlung( String s ) {
    // Create an empty string where our converted string will be stored.
    String r = "";
   
    // We will "loop" on each character of the String "s"
    for ( int z = 0; z < s.length(); z++ )
    {
      // return the character of the string based on the position of "z"
      char c = s.charAt( z );
      /*
            |  c -= ( c >= 97 && c <= 122 ) ? 32 : -32;
            |  Check if the character is a lower case and substracte 32
            |
            |  >>>> How does it work ?
            |
            |  c -> Character, 97 -> 'a' in decimal, 122 -> 'z' in decimal
            |  So if it's between 'a' and 'z' then it's a lower case
            |  You can also use 'A' and 'Z' or just one of them, then use "if/else"
            |  We substracte 32 because it's the difference between lower and upper case
            | 'a' is 97 and 'A' is 65 so the difference is 32
            | So we just invert the characters.
      */
      c -= ( c >= 97 && c <= 122 ) ? 32 : -32;
      r += c;
    }
    // Let's return our final result string.
    return r;
  }

بالتوفيق
الدالة في الموضوع تقوم أيضا بتحويل الحروف الكبيرة الى حروف صغيرة , الكود الذي كتبته لا يقوم بالمهمة ,
 

Spawner Freezo

.:: مُساعد مُشرف أقسام البرمجة ::.
rankrank
إنضم
12 أبريل 2015
المشاركات
355
الإعجابات
533
النقاط
93
العمر
22
الإقامة
Morocco
الدالة في الموضوع تقوم أيضا بتحويل الحروف الكبيرة الى حروف صغيرة , الكود الذي كتبته لا يقوم بالمهمة ,
لا بانت لي كدير نفس لحاجة، غير بدلتي while ب for، درتيها على شوية تع optimization او صافي:

:
كود:
            if (Character.isLowerCase(c)) {
                r += Character.toUpperCase(c); // Ila kant lower case, bedel dak char be upper case o 7eto fe r
            }
            else {
                r += Character.toLowerCase(c); // nafss ...
            }
هي شحل من حاجة خصها تبدل :

1- naming، الأسماء تع variables خصهم اكونو بالمعنى.
2- StringBuilder فبلاست ديك string لكي stocker فيها. ( mem allocation )
3- اقدر ادير غير replace او يلعب بداك string بارمتر لعندو او يخدم ب-byref
...
 
الإعجابات: 4w1il
إنضم
27 مايو 2014
المشاركات
297
الإعجابات
391
النقاط
63
العمر
19
الإقامة
Marruecos
لا بانت لي كدير نفس لحاجة، غير بدلتي while ب for.

كود:
            if (Character.isLowerCase(c)) {
                r += Character.toUpperCase(c); // Ila kant lower case, bedel dak char be upper case o zido 3la r
            }
            else {
                r += Character.toLowerCase(c); // nafss ...
            }
bghit ngol el function li ktbti nta
 

Spawner Freezo

.:: مُساعد مُشرف أقسام البرمجة ::.
rankrank
إنضم
12 أبريل 2015
المشاركات
355
الإعجابات
533
النقاط
93
العمر
22
الإقامة
Morocco
bghit ngol el function li ktbti nta
nglboha lihom darija 7ssn

la rani chr7tha wa9ila maditihach fe dak operator "?" yak?

hadi :


كود:
      c -= ( c >= 97 && c <= 122 ) ? 32 : -32;
      r += c;
nafssha nafss

كود:
      if ( c >= 97 && c <= 122 )
           c -= 32;
       else
           c += 32;
      
       r += c;
dak operator ? kay l3b dawr ta3 if o else, ghir bach nkhtassar dakchi o safi, rani jarbtha fe compiler online ta3 java
 
الإعجابات: 4w1il
إنضم
27 مايو 2014
المشاركات
297
الإعجابات
391
النقاط
63
العمر
19
الإقامة
Marruecos
لا بانت لي كدير نفس لحاجة، غير بدلتي while ب for، درتيها على شوية تع optimization او صافي:

:
كود:
            if (Character.isLowerCase(c)) {
                r += Character.toUpperCase(c); // Ila kant lower case, bedel dak char be upper case o 7eto fe r
            }
            else {
                r += Character.toLowerCase(c); // nafss ...
            }
هي شحل من حاجة خصها تبدل :

1- naming، الأسماء تع variables خصهم اكونو بالمعنى.
2- StringBuilder فبلاست ديك string لكي stocker فيها. ( mem allocation )
3- اقدر ادير غير replace او يلعب بداك string بارمتر لعندو او يخدم ب-byref
...
yalah bach fhmt had line :
c -= ( c >= 97 && c <= 122 ) ? 32 : -32;
لم أرى 32 , فهمت للتو أنه يقوم بأرجاع قيمة ل c ب 32
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل