第一种方法
我最先想到了办法,这种方法就比较简单了,话不多说看代码
if(inputname.contains("@") && inputname.endsWith("") &&
((inputname.charAt('0')>=0&&inputname.charAt(0)<='9')||
(inputname.charAt(0)<='z'&&inputname.charAt(0)>='A'))){
System.out.println("是emali格式");
}else{
System.out.println("格式错误!");
当时我犯了一个特别特别重要的错误,导致结果出错,因为是String型的,首字母也一定是字符型,我忘记了引号,导致代码一直出错,不加引号不会判断出首字母是数字!正确的应该是这个样子!!!
第二种方法
刚刚接触Java,面向对象的思想理解的不是很透彻,我也尽力再用这种思想写。
- 判断首字母是用正则表达式进行的(小白的我查阅了很多资料)
- 其他的就很简单啦,都是最简单的方法
package hrbxy.may11;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmailName {
public static String inputEmai;
public static String getInputEmai() {
return inputEmai;
}
public static void setInputEmai(String inputEmai) {
EmailName.inputEmai = inputEmai;
}
}
package hrbxy.may11;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmailNameTest {
//判断是否以数字或字母开头
public static boolean isStartWithChar(String str){
Pattern pattern = Pattern.compile("^[0-9a-zA-Z].*");
Matcher isChar = pattern.matcher(str.charAt(0) + "");
if (!((Matcher) isChar).matches()) {
return false;
} else {
return true;
}
}
//判断是否包含@
public static boolean iscontain(String str){
if(str.contains("@")){
return true;
}
return false;
}
//判断是否以结尾
public static boolean isEndWith(String str){
if(str.endsWith("")){
return true;
}
return false;
}
}
package hrbxy.may11;
import java.util.Scanner;
public class EmailNameMain {
/*对“邮箱格式”等进行验证。(假设邮箱以数字或是字母开头,必须包含@字符,并以结尾)*/
public static void main(String[] args) {
EmailNameTest test = new EmailNameTest();
EmailName name = new EmailName();
Scanner input = new Scanner(System.in);
System.out.print("请输入邮箱号码:");
String inputname = input.nextLine();
name.setInputEmai(inputname);
boolean isNumChar = test.isStartWithChar(name.getInputEmai());
boolean iscontain = test.iscontain(name.getInputEmai());
boolean isEndWith = test.isEndWith(name.getInputEmai());
if(isNumChar&&iscontain&&isEndWith){
System.out.println("Email格式正确");
}else{
System.out.println("格式错误!");
}
}
}
附加正则表达式(只是此问题用到的)
Pattern pattern = Pattern.compile(regex); //创建一个Pattern对象
Matcher matcher = pattern.matcher(string); //得到Matcher对象,通过find方法可以找到匹配对象,如果有匹配的部分返回真,使用m.group方法得到匹配的各组值,否则find方法返回false。
后知后觉
写文章是为了使自己更透彻的了解,希望看到的能给我提一些建议,让我能够写得更好
更多推荐
Java编写代码“邮箱格式”等进行验证。(假设邮箱以数字或是字母开头,必须包含@字符,并以.com结尾)
发布评论