日常错误:在有返回值的方法中,for循环中的嵌套if语句,不能在else中写返回值为null,要在for循环外写return。

因为如果不这样,还没等for循环完毕,程序在碰到不符合if条件的时候就结束啦。 

正确代码:着重看返回值位置

public class Test94 {

  public static void main(String[] args) {


    String student= new String("姓名|英文名称|年龄|性别\n张三|Zhang San|20|男\n李四|Li Si|18|男\n小花|xiaohua|18|女\n");
    String[] student1 = eachStudent(student);
      System.out.println("名称:" + student1[0] + " 英文名称:" + student1[1].toUpperCase() + " 年龄:" + student1[2] + " 性别:" + student1[3]);

  }

  public static String[] eachStudent(String name) {
    String[] split = name.split("\n");   //这里是将一个字符串的内容分割为一个个学生的信息存储到split数组中


      for (String s : split) {
        String[] student = s.split("\\|");   //再将每一个学生的信息按| 分成不同类型存储到 student数组中
        if(student[3].equals("女")){
          return student;

        }

        }
      return null;


      }

  }

错误代码

public static String[] eachStudent(String name) {
    String[] split = name.split("\n");   //这里是将一个字符串的内容分割为一个个学生的信息存储到split数组中


      for (String s : split) {
        String[] student = s.split("\\|");   //再将每一个学生的信息按| 分成不同类型存储到 student数组中
        if(student[3].equals("女")){
          return student;

        }
        else 
          return null;      //这里是错误的

        }
      return null;


      }

 空指针异常

再尝试在else语句那里输出语句 

印证了想法

 

总结:return就是会让程序直接结束。所以在没有达到符合条前,或者判断完都没有符合条件的时候,再用return。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值