2018年4月2日作业练习整理

0.用StringBuilder将对字符串缓冲区的增删改查写一下

package Day0402hw;

public class Test1 {

    public static void main(String[] args) {
    
        StringBuilder bu=new StringBuilder();
        StringBuilder bu1=bu.append("张三").append("李四").append("王五");
        //bu.delete(1, 4);//删除
        bu.insert(2, "马六");
        bu.replace(1, 4, "你好");
    //    bu.reverse();逆序
        String a=bu.toString();
        System.out.println(a);
    }

}

1.用代码演示String类中的以下方法的用法

         (1)boolean isEmpty(): 判断字符串是不是空串,如果是空的就返回true

package Day0402hw;

 

public class Test2 {

 

    public static void main(String[] args) {

       // TODO Auto-generated method stub

       String str="";

       boolean b=str.isEmpty();

       System.out.println(b);

       }

       public boolean isEmpty(){

       Test2 str = null;

       if(str.isEmpty()) {

           return true;

           }else{

           return false;

           }

        }

       }

(2)char charAt(int index): 返回索引上的字符

package Day0402hw;

 

public class Test3 {

 

     public static void main(String args[]) {

            String a = "锄禾日当午汗滴禾下土";

            char b = a.charAt(8);

            System.out.println(b);

        }

 

}

  (3)String toLowerCase(): 字符串转成小写

package Day0402hw;

 

public class Test4 {

 

    public static void main(String[] args) {

       // TODO Auto-generated method stub

String s="ABCDEFG";

String f=s.toLowerCase();

System.out.println(f);

    }

 

}

 (4)String toUpperCase(): 字符串转成大写

package Day0402hw;

 

public class Test4 {

 

    public static void main(String[] args) {

       // TODO Auto-generated method stub

String s="abcdefg";

String f=s.toUpperCase();

System.out.println(f);

    }

 

}

 (5)String repalce(char oldChar, char newChar): 将字符串中的老字符,替换为新字符

String s="你好java";

    String f=s.replace('你', '我');

    System.out.println(f);

(6)String repalce(String old, String newstr): 将字符串中的老字符串,替换为新字符串

package Day0402hw;

 

public class Test5 {

    public static void main(String[] args) {

   

    String s2="你好java";

    String f1=s2.replace("你好", "我是");

    System.out.println(f1);

    }

 

}

(7)String trim(): 去掉字符串两端空格

   package Day0402hw;

 

public class Test5 {

 

    public static void main(String[] args) {

    String s="你好java";

    String f=s.replace('你', '我');

    System.out.println(f);

    String s2="      	你好java	 ";

    String f1=s2.replace("你好", "我是");

    String f2=s2.trim();

    System.out.println(f2);

    }

 

}

2.分析以下需求,并用代码实现:

         (1)定义如下方法public static String getPropertyGetMethodName(String property);

         (2)该方法的参数为String类型,表示用户给定的成员变量的名字,返回值类型为String类型,返回值为成员变量对应的get方法的名字

         (3)如:用户调用此方法时给定的参数为"name",该方法的返回值为"getName"

      

   package Day0402hw;

 

public class Test06 {

 

    public static void main(String[] args) {

       // TODO Auto-generated method stub

      

           System.out.println(getPropertyGetMethodName("age"));

    }

    public static String getPropertyGetMethodName(String property) {

       return "get"+property.substring(0, 1).toUpperCase()+property.substring(1);      

    }

 

}

 

3.分析以下需求,并用代码实现:

         (1)定义数字字符串数组{"010","3223","666","7890987","123123"}

         (2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出

         (3)如:010 是对称的,3223 是对称的,123123 不是对称的

         (4)最终打印该数组中对称字符串的个数

        

         提示:循环获取字符串的每一个字符,依次比较第一个和最后一个,第二个和倒数第二个。。。

        

 package Day0402hw;

 

public class Test06 {

 

     public static void main(String[] args) {

         // TODO Auto-generated method stub

         String[] arr= {"010","3223","666","7890987","123123"};

         int length = arr.length;

          int count = 0;

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

          int k = arr[i].length();

          boolean stau = true;

          //将字符串转化为字符数组

          char[] as = arr[i].toCharArray();

        

          for (int j = 0; j <= k/2; j++) {

           if (as[j] != as[k-j-1]) {

            System.out.println("字符串"" + arr[i] + ""不是对称字符串");

            stau = false;

            break;

           }

          }

          if (stau) {

           System.out.println("字符串"" + arr[i] + ""是对称字符串");

           count++;

          }       

         }System.out.println("对称的字符串有:"+count+"个");

        }

}

4.分析以下需求,并用代码实现:

         (1)从键盘循环录入录入一个字符串,输入"end"表示结束

         (2)将字符串中大写字母变成小写字母,小写字母变成大写字母,其它字符用"*"代替,并统计字母的个数

                   举例:

                            键盘录入:Hello12345World

                            输出结果:hELLO*****wORLD

                                                 总共10个字母

package Day0402hw;

import java.util.Scanner;

public class Test7 {

public static void main(String[] args){

    int count=0;

    Scanner sc=new Scanner(System.in);

    System.out.println("请输入一句英文:");

    String str=sc.next();

    char[] c1=str.toCharArray();

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

       if (c1[i]>='A' && c1[i]<='Z') {

           c1[i]+=32;

           count++;

         } else if (c1[i]>='a' && c1[i]<='z') {

         c1[i]-=32;

         count++;

        } else {

         c1[i]='*';

        }

       }System.out.println(c1);

       System.out.println("总共"+count+"个字母");

}

}

5.分析以下需求,并用代码实现:

         (1)从键盘循环录入录入一个字符串,输入"end"表示结束

         (2)定义一个方法

                   public Object[] deleteSubString(String str1,String str2) {

        

                   }

         (3)方法功能描述:从str1中删除所有的str2,并返回删除后的结果,返回结果为Object[]数组

                   * 该数组的第一个元素为删除所有的str2后的最终的字符串

                   * 该数组的第二个元素为删除的str2的个数

             

package Day0402hw;
import java.util.Scanner;

public class Diwuti {

    public static void main(String[] args) {
        String str1=input();
        String str2=input();
        Object[] obj=deleteSubString(str1,str2);
        String str=(String)obj[0];
        int count=(Integer)obj[1];
        System.out.println(str+count);

    }
    public static Object[] deleteSubString(String str1,String str2) {
        StringBuffer s=new StringBuffer();
        s.append(str1);
        int count=0;
        while(s.indexOf(str2)!=-1){
            s.delete(s.indexOf(str2), s.indexOf(str2)+str2.length());
            count++;
        }
        Object[] obj={s.toString(),count};
        return obj;
    }
    public static String input(){
        Scanner sc=new Scanner(System.in);
        StringBuffer s=new StringBuffer();
        System.out.println("请输入一个字符串(以end结尾)");
        while(true){
            String str=sc.next();
            if(str.endsWith("end")){
                break;
            }else{
                s.append(str);
            }
        }
        return s.toString();
    }

}

                                                                

原文地址:https://www.cnblogs.com/jason111/p/8708955.html