String类还是比较好玩的,也是很重要,建议大家自己做一遍,如果实在没有思路再参考答案
我已经想到String类对游戏中的字符检索功能有很大帮助,一说做游戏我还是挺兴奋的
掌握知识点
第一关
- length()方法,判断长度
- compareTo方法,判断字符串相等
第二关
- length()方法
- indexOf()方法,注意本关需要使用双参数方法使用
第三关
- indexOf()方法
- lastIndexOf()方法
- substring()方法
- 分支语句灵活运用
第四关
- StringBuffer类
- slipt()方法
- append()方法
- reverse()方法
- StringBuffer对象和String对象互转
第1关:length()方法与compareTo()方法的使用 - 花名册
package step1;
import java.util.Scanner;
public class Roster {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
/********** Begin *********/
String roster1 = new String(scanner.nextLine());
String roster2 = new String(scanner.nextLine());
int len1 = roster1.length();
int len2 = roster2.length();
System.out.println(len1);
System.out.println(len2);
if (roster1.compareTo(roster2) == 0){
System.out.println("相同");
}else {
System.out.println("不相同");
}
/********** End *********/
}
}
第2关:substring()方法与indexOf()方法的使用 - 姓名查找
package step2;
import java.util.Scanner;
public class NameSearch {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str1 = scanner.nextLine();
String str2 = scanner.next();
int index = 0;
while(true){
index = str1.indexOf(str2,index + 1); //index + 1这语句无敌了
if(index != -1){
System.out.println(index);
}else{
break;
}
}
}
}
第3关:String串类操作 - 文件名与邮箱验证
package step3;
public class HelloWorld {
public void judge(String fileName,String email){
//请在此添加实现代码
/********** Begin **********/
int index = fileName.lastIndexOf("."); //判断最后一个点出现的位置
if(index != -1 && fileName.length() > 5){
String str = fileName.substring(index);
if(str.equals(".java")){
System.out.println("Java文件名正确");
}else{
System.out.println("Java文件名无效");
}
}else{
System.out.println("Java文件名无效");
}
int text = email.indexOf("."); //如果为假,返回-1
int text2 = email.lastIndexOf("@"); //如果为假,返回-1
if(text != -1 && text2 != -1 && text > text2){
System.out.println("邮箱名正确");
}else{
System.out.println("邮箱名无效");
}
/********** End **********/
}
}
第4关:StringBuffer类的定义和使用 - 字母反转
package step4;
public class Reverse {
public static StringBuffer start(String data) {
StringBuffer ans = new StringBuffer();
String[] arr = data.split(" ");
for(String i:arr){
StringBuffer ans2 = new StringBuffer(i); //新建ans2对象,循环赋值数组元素
ans2.reverse(); //每次把对象值翻转,翻转6次
ans.append(ans2 + " "); // 将字符串连接ans字符串后面,因为return ans是固定的,所以这个语句着实把我搞蒙了
}
return ans;
}
}