JAVA String API练习题

1.分析以下需求,并用代码实现:
(1)定义如下方法public static String getPropertyGetMethodName(String property); get属性的名称
(2)该方法的参数为String类型,表示用户给定的成员变量的名字,返回值类型为String类型,返回值为成员变量对应的get方法的名字
(3)如:用户调用此方法时给定的参数为"name",该方法的返回值为"getName"

   public static String getPropertyGetMethodName(String property){
      property=(property.charAt(0)+"").toUpperCase()+property.substring(1);
        return "get"+property;
    }
    public static void main(String[] args) {
        String name="name";
        System.out.println(getPropertyGetMethodName(name));
    }

2.分析以下需求,并用代码实现:
(1)定义数字字符串数组{“010”,“3223”,“666”,“7890987”,“123123”}
(2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出
(3)如:010 是对称的,3223 是对称的,123123 不是对称的
(4)最终打印该数组中对称字符串的个数

 public static void main(String[] args) {
      String[] arr={"010","3223","666","7890987","123123"};
        int num=0;
        System.out.print("对称字符串有:"+"\t");
      for (String s : arr) {
          int tem=num;
            for (int i=0;i<s.length()/2;i++){
                if (s.charAt(i)!=(s.charAt(s.length()-1-i))){
                    num++;
                    break;
                }
            }
          if (tem==num){
              System.out.print(s+"\t");
          }
        }
        System.out.println();
        System.out.println("对称字符串个数为:"+(arr.length-num));
    }

在这里插入图片描述

3.分析以下需求,并用代码实现:
(1)从键盘循环录入录入一个字符串,输入"end"表示结束
(2)将字符串中大写字母变成小写字母,小写字母变成大写字母,其它字符用"*"代替,并统计字母的个数
举例:
键盘录入:Hello12345World
输出结果:hELLO*****wORLD
总共10个字母

 public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.print("键盘录入:");
        String str = s.next();
        //字母个数
        int num=0;
        while (true){
            if (str.equalsIgnoreCase("end")){
                break;
            }
            System.out.println();
            char[] chars = str.toCharArray();
            String tem="";
            for (char c : chars) {
                if (c>='a' && c<='z'){
                tem+=(c+"").toUpperCase();
                num++;
                }
                if (c>='A' && c<='Z'){
                    tem+=(c+"").toLowerCase();
                    num++;
                }
                if (c>='0' && c<='9'){
                    tem+="*";
                }
            }
            System.out.println("输出结果:"+tem);
            System.out.println("字母个数:"+num);
            break;
        }
    }

在这里插入图片描述

4、键盘录入一个字符串,统计该字符串中的大写字母、小写字母、数字字符和其他字符分别有多少个
例如,键盘录入abcABCD12345!@#$%&,输出结果为:小写字母有3个,大写字母有4个,数字字符有5个,其他字符有6个。

 public static void main(String[] args) {
        /*统计该字符串中的大写字母、小写字母、数字字符和其他字符分别有多少个*/
        Scanner s = new Scanner(System.in);
        String str = s.next();
        char[] chars = str.toCharArray();
        int numA=0,numa=0,num=0;
        for (char c : chars) {
            if (c>='a' && c<='z'){
                numa++;
            }
           else if (c>='A' && c<='Z'){
                numA++;
            }
          else   if (c>='0' && c<='9'){
                num++;
            }
        }
        System.out.println("大写字母个数:"+numA);
        System.out.println("小写字母个数:"+numa);
        System.out.println("数字个数:"+num);
        System.out.println("其他个数"+(chars.length-num-numA-numa));

    }

在这里插入图片描述

5、定义一个方法,功能如下:给定一个数组,转换成一个字符串
例如:数组为int[] arr = {1, 2, 3},字符串为[1, 2, 3]

 public static String arrToString(int [] arr){
        String str="";
        for (int i=0;i<arr.length;i++) {
            if (i==arr.length-1){
                str+=arr[i];
                break;
            }
            str+=arr[i]+",";
        }
        return "["+str+"]";
    }
    public static void main(String[] args) {
        String s = arrToString(new int[]{1, 2, 3});
        System.out.println(s);
        String s1 = arrToString(new int[]{8, 2, 3});
        System.out.println(s1);
    }

在这里插入图片描述

6、定义一个方法,功能如下:给定一个字符串,返回该字符串的反转形式
例如:字符串为abcdef,返回结果为fedcba

 public static String reverse(String str){
        char[] chars = str.toCharArray();
        for (int i = 0; i <chars.length/2 ; i++) {
            char tem=chars[i];
            chars[i]=chars[chars.length-i-1];
            chars[chars.length-i-1]=tem;
        }
        return String.valueOf(chars);
    }
    public static void main(String[] args) {
        String s = reverse("abcdef");
        System.out.println(s);
    }

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值