A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱志群 中级黑马   /  2013-7-22 14:40  /  1277 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class TestMail {

/**
  * @param args
  */
public static void main(String[] args) {
  // TODO 自动生成方法存根
  String mail;
  
  System.out.print("请输入你想要申请的邮箱地址:\n");
  
  Scanner scan = new Scanner(System.in);
  
  mail = scan.next();
  
  if((mail.indexOf('@')==-1)||(mail.indexOf('.')==-1)){
   
   System.out.print("你输入的邮箱地址不存在@或.,不合法的邮箱!\n");
   
   return;}
  if(mail.indexOf('@')>mail.indexOf('.')){
   
   System.out.print(".在@前面,不合法的邮箱\n");
   
   return;
  }
  
  System.out.print("合法邮箱\n");

}

}
第一个问题:这里的两个return有什么用?没有我照样可以运行啊?
第二个问题:public static void main(String[] args)中的args是什么意思?
第三个问题:mail.indexOf('@')>mail.indexOf('.')中怎么比较的?应该来说都是等于-1的吗?

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

7 个回复

正序浏览
因为if....if...是会连续判断条件(判断完第一个就算满足,也会判断第二个的),而return;就是用来结束Main方法,只要if满足,执行就直接结束Main函数.

args只是个数组名而已,可以修改的.只是都这么用而已.

mail.indexOf('@')>mail.indexOf('.'),是找'@'和'.'在mail中的位置在前面的角标比较小,就用角标来比较他俩的位置.
回复 使用道具 举报
第一个问题:那不是在两个if语句里面吗,当满足第一个if语句的情况时,说明地址不合法,返回程序结束。当满足第二个if语句的情况时,……
回复 使用道具 举报
我是打酱油的,和时光一样就知道前两个问题,第三个嘛不清楚,还么学到。

点评

把自己知道写出,有自己的见解思路就好  发表于 2013-7-22 23:03
回复 使用道具 举报
新手不是应该从helloworld看起吗?怎么从这开始学了,基础不牢也看不懂啊
回复 使用道具 举报
本帖最后由 HEIMA时光 于 2013-7-22 15:24 编辑

我也是个新手,还不太懂。
1.因为是两个判断语句,如果上一个if中的条件满足,那么该语句执行到return就会结束,后面的if语句就不用判断了!
2.args 是 arguments的缩写,是参数的意思,这是为了便于书写而用缩写的方式,这个单词也可以用别的单词代替,并不是不能改变的。只要是合法的就行!
  String[] args是指接收一个字符串类型的数组。
至于第三问我就不知道了。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 xscn 于 2013-7-22 15:25 编辑

1.这里对于 已经判断邮箱错误的情况下,return就可以终止后面的代码执行。
2.public static void main(String[] args)是主函数啊,args是数组名,String[] args是指接收一个字符串类型的数组,这个知识点毕姥爷讲静态的时候有,你去看一下
3.indexOf函数:查找字串中指定字符或字串首次出现的位置,返首索引值。如果找到该字符,则为返回索引位置;如果未找到,则为 -1。
返回-1就是不包含@和.,邮箱地址就是错误的。
返回@的角标>.的角标,也就是说.的位置在@的前面也是错误的格式

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马