黑马作业练习笔记

黑马练习作业

题目8(扩展)

在String类的API中,有如下两个方法:

// 查找参数字符串str在调用方法的字符串中第一次出现的索引,如果不存在,返回-1
public int indexOf(String str)

// 截取字符串,从索引beginIndex(包含)开始到字符串的结尾
public String substring(int beginIndex)

请仔细阅读API中这两个方法的解释,完成如下需求。

现有如下文本:“Java语言是面向对象的,Java语言是健壮的,Java语言是安全的,Java是高性能的,Java语言是跨平台的”。请编写程序,统计该文本中"Java"一词出现的次数。

 public static void main(String[] args) {
        //## 题目8(扩展)
        //在String类的API中,有如下两个方法:
        //```java
         查找参数字符串str在调用方法的字符串中第一次出现的索引,如果不存在,返回-1
        //public int indexOf(String str)
        //
         截取字符串,从索引beginIndex(包含)开始到字符串的结尾
        //public String substring(int beginIndex)
        //```
        //请仔细阅读API中这两个方法的解释,完成如下需求。
        //现有如下文本:"Java语言是面向对象的,Java语言是健壮的,Java语言是安全的,
        // Java是高性能的,Java语言是跨平台的"。请编写程序,统计该文本中"Java"一词出现的次数。
        //指定字符串
        String str = "Java语言是面向对象的,Java语言是健壮的,Java语言是安全的,Java是高性能的,Java语言是跨平台的";
        //调用次数方法
        int count = frequency(str);
        //打印结果
        System.out.println("该文本中Java一词出现的次数为" + count + "次");
    }

    //方法.Java在文本中出现的次数
    private static int frequency(String str) {
        //默认该文本没有Java
        int index = -1;
        //统计找到的次数
        int count = 0;
        //遍历字符串
        for (int i = 0; i < str.length(); i++) {
            //查找参数字符串Java在字符串中第一次出现的索引
            index = str.indexOf("Java");
            //如果为-1,则结束循环,说明文本不含Java
            if (index == -1) {
                break;
            } else {
                //找到一次,count+1,就截取掉Java,遍历剩下的新字符串
                str = str.substring(index + 4);
                //如果存在,index变化几次,则自增几次
                count++;
            }
        }
        //返回计数器的值
        return count;
    }

课堂练习1

给定两个以字符串形式表示的非负整数num1和num2,并以字符串形式返回两数乘积

 public static void main(String[] args) {
        //给定两个非负整数
        int num1 = stringToInteger("12345678");
        int num2 = stringToInteger("12345678");
        //接收二者的乘积,整型
        int num3 = num1 * num2;
        //+"",转成字符串形式
        System.out.println(num3 + "");
    }
    //方法:把整数组成字符串变成整数
    public static int stringToInteger(String str) {
        //把字符串转成字符数组
        char[] chs = str.toCharArray();
        //定义整型整数
        int number = 0;
        for (int i = 0; i < chs.length; i++) {
            //把字符利用ASCII码表转换成数字进行计算
            number = number * 10 + (chs[i] - 48);
        }
        //返回整型数字
        return number;
    }

课堂练习2

键盘录入一个字符串s,由若干单词组成,单词前后用一些空格字符隔开
返回字符串中最后一个单词的长度
单词是仅有字母组成,不包含任何空格字符的最大子字符串
示例 1:输入:s=“Hello Word” 输出5
解释:最后一个单词是"Word",长度为5

 public static void main(String[] args) {
        //给定一个字符串
        String s = "Hello Wordr";
        //最后出现" ",的索引
        int index = s.lastIndexOf(" ");
        //截取" "后的字符串
        s = s.substring(index + 1);
        //打印长度
        System.out.println(s.length());
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值