这道题目相当有意思,难度适中,可以多看看
掌握知识点
- lastIndexOf(‘参数’)方法,找到字符在字符串中的位置
- substring(参数1,参数2)方法,从第参数1个下标获取,到参数2终止,获取字符串
通关源码
import java.util.Scanner;
public class StrTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String filename = scanner.nextLine();
String email = scanner.nextLine();
int beginIndex = filename.lastIndexOf("."); //获取最后一个点出现的位置
if(beginIndex != -1){
//substring()方法:从第beginIndex下标截取,截取到末尾,返回lastName,然后直接用equals方法判断是否相等.java
String lastName = filename.substring(beginIndex,filename.length());
if(beginIndex != 0 && lastName.equals(".java")){
System.out.println("Java文件名正确");
}else{
System.out.println("Java文件名无效");
}
}else{
System.out.println("Java文件名无效");
}
//lastIndexOf()方法, 获取字符串出现的位置,可以返回一个int类型
int atIndex = email.lastIndexOf("@"); //获取最后一个@出现的位置
int pointIndex = email.lastIndexOf("."); //获取最后一个.出现的位置
if(atIndex != -1 && atIndex < pointIndex){
System.out.print("邮箱名正确");
}else{
System.out.println("邮箱名无效");
}
}
} // Scanner sc = new Scanner(System.in);