我写了一个小程序,它只是通过查看电子邮件地址并将字母返回到@
字符来获取电子邮件发件人的姓名。
我用两种方式编写了while循环,一种方式是循环,第二种方式是使用嵌套的if语句。两者是一样好还是一种优先于另一种的方法?
循环启动:
public void FindUserName() {
Scanner keyboard = new Scanner(System.in);
char symbol = ' ';
System.out.println("Please enter email!");
symbol = keyboard.findWithinHorizon(".", 0).charAt(0);
while (symbol != '@') {
System.out.print(symbol);
symbol = keyboard.findWithinHorizon(".", 0).charAt(0);
}
System.out.println();
}
如果symbol == '@'
public void FindUserName() {
Scanner keyboard = new Scanner(System.in);
char symbol = ' ';
System.out.println("Please enter email!");
while (symbol != '@') {
symbol = keyboard.findWithinHorizon(".", 0).charAt(0);
if (symbol == '@') {
break;
}
System.out.print(symbol);
}
System.out.println();
}
答案 0 :(得分:6)
您不需要进行循环,您可以轻松使用:
String email = "email@abd.com";
String str = email.substring(0, email.indexOf("@"));
这将为您提供email
答案 1 :(得分:1)
第二个循环中的if
语句没有任何意义,因为而条件已经检查过。
尝试使用正则表达式。备选方案1
String[] splitted = email.split("@");
String name = splitted[0];