一、计算字符串最后一个单词的长度,单词以空格隔开。
思路:循环获得输入的字符,打印出从最后开始一个单词到空格的长度。
考点:
1.str.indexOf(“a”);表示“a”第一次出现str的索引,返回的是“a”的索引位置,是一个整数,如果未找到该元素,则返回 -1。
2.Str.lastIndexOf(“a”);
表示“a”最后一次出现str的索引,返回的是“a”的索引位置,是一个整数;如果不包含该元素,则返回 -1。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
while(sc.hasNext()){
String str=sc.nextLine();
System.out.print(str.length()-1-str.lastIndexOf(" "));
}
}
}
二、写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
思路:先从键盘获得输入的字符串和一个字符,因为字母都大小写之分,所以全部转换成大写。因为第二次只输入一个字符,则用字符串的charAt(),就能或得指定下标的字符。再把长字符串转化成字符数组,循环比对,如果相等就计数+1.
考点:
1.str.to UpperCase() ,把字母变大写,str.toLowerCase() ,把字母变小写。
2.字符串获得其中的某个字符:str. charAt().
3.比较两个字符是不是相等用“==”。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
String str=sc.nextLine().toUpperCase();
String b=sc.nextLine().toUpperCase();
char a= b.charAt(0);
int count=0;
char [] ch=str.toCharArray();
for(int i=0;i<ch.length;i++){
if(ch[i]==a){
count++;
}
}
System.out.print(count);
}
}
三、字符串的截取:
连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
思路:循环获得输入的字符串,再循环体写一个分割的方法,在方法里再分两种情况判断,字符串长度>=8的,再循环截取,小于8的补充0。
考点:str.substring(0, 8)); str=str.substring(8);
import java.util.Scanner;
public class Main (
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
while (sc.hasNext()){
String str=sc.nextLine();
spit(str);
}
}
public static void spit(String str) {
while(str.length()>=8){
System.out.println(str.substring(0, 8));
str=str.substring(8);
}
if(str.length()>0&&str.length()<8){
str=str+"00000000";
System.out.println(str.substring(0, 8));
}
}
}