JAVA学习笔记(二) 3月22日

本文探讨了三种不同的方法来统计字符串中的大写字母、小写字母和非字母字符的数量,并提供了一个示例来计算特定子字符串在给定字符串中出现的次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  通过查阅JDK6的API文档,来解决以下的两个问题,以锻炼自己的英语阅读能力和灵活运用知识的能力。

  题一,输出一个字符串中的大写字母,小写字母以及非英文字母的个数。

  题二,输出一个字符串中指定字符串出现的次数。

  要解决题一,第一步是要把字符串中的字符逐个的取出来,以前的方法是把该字符串放到一个字符的数组里面,通过index指定的数来取出单个的字符。通过查API文档:得Java.lang下面的class String下面有个method叫做charAt看看解释:

char charAt(int index)-Returns the char value at the specified index( 返回指定序列的字符值)。

 

charcharAt(int index)
          Returns the char value at the specified index

 

 现在把单个字符找出来了,第一种方法是比较单个字符是否是小写字母,此时小写字母计数器就增一,同理,大写字母计数器增一,最后非字母计数器加一。写法如下:

 public class Test3 {

     public static void main (String [] args) {

      String s = "asdfjlJOIfoiHIJIH8985YUIJN";

      int count1 =0,count2 = 0,count3 = 0;

      for(int i=0;i<=s.length();i++) {

            char c =s.charAt[i];

            if(c>='a'&&c<='z'){count1++;}

           else if(c>='A'&&c<='Z') {count2++;}

            else count3++;

          System.out.println("该字符串中大写字母个数为"+count1+"个。")

          System.out.println("该字符串中小写字母个数为"+count2+"个。")

          System.out.println("该字符串的非字母个数为"+count3+"个。")

 }

}

}

  第二种方法是安排两个字符串,一个大写,一个小写。统计指定字符串在大写和小写字符串里面的出现的次数,就可以得出该字符串中大写,小写和非字母字符出现的次数。写法如下:

 public class Test4 {

      public static void main (String [] args) {

    String Up = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";(设定大写字符串)

    String Low = "abcdefghijklmnopqrstuvwxyz";(设定小写字符串)

    String S = "sa;lidfjROIHosaijf809890q";(指定字符串)

    int Count1 = 0(设定大写字母计数器),Count2 = 0(设定小写字母计数器), Count3 = 0(设定非字母计数器);

    for(int i=0;i<=S.length();i++){

        char c = S.charAt(i);(逐个取字符)

       if(Up.indexOf(c) != -1){

            Count1++;

} /*如果在出现大写字符,大写字符计数器就加一

    else if(Low.indexOf(c) != -1){

      Count2++;

}/*如果在出现小写字符,小写字符计数器就加一

   else {Count3++;}

} /*如果在出现非字母字符,非字母字符计数器就加一

    System.out.println("该字符串中大写字母个数为"+count1+"个。")

     System.out.println("该字符串中小写字母个数为"+count2+"个。")

      System.out.println("该字符串的非字母个数为"+count3+"个。")

}

}

   第三种方法,注意查API里面的JAVA.lang下面的Class有个Character的method叫做isLowerCase和isUpperCase,看看API里面的解释:

   

static booleanisLowerCase(char ch)
          Determines if the specified character is a lowercase character.

  

static booleanisUpperCase(char ch)
          Determines if the specified character is an uppercase character.

  顾名思义,判定一个字符是否是大写字母或是小写字母返回True或False。这个的写法就更明确了。

 public class Test5 {

      public static void main (String [] args) {

      String S = "sa;lidfjROIHosaijf809890q";(指定字符串)

    int Count1 = 0(设定大写字母计数器),Count2 = 0(设定小写字母计数器), Count3 = 0(设定非字母计数器);

    for(int i=0;i<=S.length();i++){

        char c = S.charAt(i);(逐个取字符)

       if(isUpperCase(c)){

            Count1++;

} /*如果在出现大写字符,大写字符计数器就加一

    else if(isLowerCase(c)){

      Count2++;

}/*如果在出现小写字符,小写字符计数器就加一

   else {Count3++;}

} /*如果在出现非字母字符,非字母字符计数器就加一

    System.out.println("该字符串中大写字母个数为"+count1+"个。")

     System.out.println("该字符串中小写字母个数为"+count2+"个。")

      System.out.println("该字符串的非字母个数为"+count3+"个。")

}

}

   总结:通过讨论这三种方法实现统计一个字符串中大写字母,小写字母出现的次数,一是回顾以前的一些传统方法,二是锻炼自己查API及运用方法的能力。

2,下面开始解决第二个问题——输出一个字符串中指定字符串出现的次数。基本方法是先指定字符串,然后在给出的字符串中间找到该字符串,然后在往后找。找到指定字符串之后截掉前面的继续找。

可以用到前面说过的indexOf的方法和一个截掉字符串的方法subString,老规矩还是先查API文档。

Stringsubstring(int beginIndex)
          Returns a new string that is a substring of this string.

 程序如下:

public class Test6{

     pulic static void main(String [] args){

            String Or = "sjavasunjavawebjavaeclipse";/*原来的字符串*/

             String find = "java";/*要寻找的字符串*/   /**/

               int Count = 0; /*设定出现次数计数器*/

              While(S.indexOf(find) != -1){

              Count++; /*找到指定字符串计数器加一*/      

              String S = substring(Or.indexOf(find)+find.lenght());  /*位号为find变换后的位号*/                  

                    }

              System.out.println("java出现了"+Count+"次。");

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值