عدد الأحرف الكبيرة والصغيرة في سلسلة في Java
توضح هذه المقالة كيفية حساب عدد مثيلات الأحرف الكبيرة والصغيرة في سلسلة عن طريق ترميز برنامجنا أو باستخدام java 8 وواجهة برمجة تطبيقات الجوافة من google.isUpperCase() و isLowerCase() في Java
تتكون هذه الطريقة من استعراض أحرف الجملة ورؤية كل منها ما إذا كانت صغيرة أو كبيرة. نحتاج إلى إنشاء عداد للأحرف الكبيرة وآخر للأحرف الصغيرة. في النهاية ، نعرض قيم المتغيرين.للتحقق مما إذا كان الحرف صغيرا أم كبيرا ، تحتوي java على طريقتين:
boolean isUpperCase(char ch): ترجع هذه الطريقة true إذا كان الحرف كبيرا. يكون الحرف كبيرا إذا تم إرجاع فئته بواسطة Character.getType(ch) هو UPPERCASE_LETTER.
boolean isLowerCase(char ch): ترجع هذه الطريقة true إذا كان الحرف صغيرا. يكون الحرف صغيرا إذا تم إرجاع فئته بواسطة Character.getType(ch) هو LOWERCASE_LETTER.
public class nombre_majuscule_minuscule {تنفيذ هذا الرمز:
الفراغ العام الثابت الرئيسي (String[] args) {
سلسلة السلسلة = "Java هي لغة برمجة" +
"موجهة للكائنات تم إنشاؤها بواسطة Sun Microsystems" ؛
int nbr_min = nbr_min (سلسلة) ؛
int nbr_maj = nbr_maj (سلسلة) ؛
System.out.println("عدد الأحرف الصغيرة"+nbr_min);
System.out.println ("رقم الأحرف الكبيرة" +nbr_maj);
}
int ثابت خاص nbr_maj (سلسلة سلسلة) {
int counter = 0;
ل (int i = 0 ؛ i< طول السلسلة (); i++){
char ch = string.charAt(i);
if (Character.isLowerCase (ch))
counter ++ ؛
}
عداد العودة ؛
}
int ثابت خاص nbr_min (سلسلة سلسلة) {
int counter = 0 ؛
ل (int i = 0 ؛ i< طول السلسلة (); i++){
char ch = string.charAt(i);
if (Character.isUpperCase (ch))
counter ++ ؛
}
عداد العودة ؛
}
}
رقم الأحرف الصغيرة 4
رقم الأحرف الكبيرة 68
يمكنك إنشاء الإصدار العودي لكلتا الطريقتين < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >nbr_min()سبان> و < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >nbr_maj ()< / الامتداد >. هذه المرة قررنا برمجة الطريقتين اللتين قدمتهما جافا isUpperCase () < / span> و < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >isLowerCase()، استنادا إلى نطاق رمز ASCII للأحرف الصغيرة والأحرف الأبجدية.
private static int nbr_maj_recursive(سلسلة سلسلة، int i) {إعلان الطريقة < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >nbr_min_recursive()سبان> التغييرات فقط على مستوى التحقق من نوع الحرف الذي يتم إجراؤه باستخدام الطريقة < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >isSmallcase().
/*إذا وصلت إلى حجم السلسلة
* إرجاع 0
*/
if(string.length ()-i==0)
إرجاع 0;
/ * وإلا فإننا نتحقق من الحرف التالي * /
else {
char ch = string.charAt(i);
إذا (estUpper (ch))
/ * زيادة i والعد واحد
* حرف كبير * /
إرجاع nbr_maj (سلسلة ، ++ i) +1 ؛
}
إرجاع nbr_maj (سلسلة ، ++ i) ؛
}
private int static int nbr_min_recursive(سلسلة سلسلة، int i) {The Method < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" > isالأحرف الكبيرة () < / span >  يكافئ < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >isUpperCase () < / span>.
if(string.length ()-i==0)
إرجاع 0;
else{
char ch = string.charAt(i);
if (isSmallcase (ch))
إرجاع nbr_min (سلسلة ، ++ i) + 1 ؛
}
إرجاع nbr_min (سلسلة ، ++ i) ؛
}
< pre class = "prettyprint lang-java" > منطقية ثابتة isUpperCase (char ch) {
int ascii = (int) ch ؛
//[A.. Z]
إذا((ascii>=65 & & ASCII<=90)
//الحروف المحركة
|| (أسكي>=192 & & ascii<=223))
إرجاع صحيح؛
إرجاع خاطئ ؛
}قبل>الطريقة < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >isTiny() يكافئ < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >isLowerCase().
static boolean isSmallcase(char ch){
int ascii = (int) ch;
//[a.. z]
إذا((ascii>=97 & & ASCII<=122)
// حروف معلمة
|| (أسكي>=224 & & ascii<=255))
إرجاع صحيح؛
إرجاع خاطئ ؛
}
Java 8
باستخدام Java 8 ، يمكنك حساب عدد الأحرف الكبيرة والصغيرة. سنسمي الطريقة < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >أحرف () < / سبان> والتي ستعود أ < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >إنترم< / سبان> ومن هناك ، سنقوم بتصفية الأحرف الكبيرة والصغيرة عن طريق تمرير مرشح. في النهاية ، سنستخدم العملية < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >العد () < / الامتداد >  للعثور على عدد مثيلات.
public void compter_majuscules_java8() {ولحساب الأحرف الصغيرة، افعل هذا:
عبارة السلسلة = "هذا اختبار";
عداد طويل = phrase.chars () .filter (حرف :: isUpperCase) .count ();
}
public void compter_minuscules_java8() {
عبارة السلسلة = "هذا اختبار";
عداد طويل = phrase.chars () .filter (حرف :: isLowerCase) .count ();
}
Google Guava
تستخدم واجهة برمجة تطبيقات الجوافة أيضا لتحديد العدد الإجمالي للأحرف الكبيرة والصغيرة في سلسلة. يمكنك التفكير في: < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >تشارت ماتشر< / سبان> كمجموعة من الأحرف ، لذلك عند استخدام ChartMatcher.JAVAUPPERCASE فهذا يعني أي حرف كبير. الطريقة < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >المطر من () < / الامتداد > سيزيل جميع الأحرف غير الكبيرة.
public void compter_majuscules_java8() {ولحساب الأحرف الصغيرة، افعل هذا:
عبارة السلسلة = "هذا اختبار" ؛
عداد طويل = CharMatcher.JAVA_UPPER_CASE.retainFrom (عبارة) .length ();
}
public void compter_minuscules_java8() {
عبارة السلسلة = "هذا اختبار";
عداد طويل = CharMatcher.JAVA_LOWER_CASE.retainFrom(عبارة).length ();
}