黑马练习作业
题目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());
}