为了账号安全,请及时绑定邮箱和手机立即绑定

无法访问的语句 StringBuffer buffer = new StringBuffer()

无法访问的语句 StringBuffer buffer = new StringBuffer()

茅侃侃 2021-09-03 14:44:47
错误是:Unreachable statement in line StringBuffer buffer = new StringBuffer()这是我的代码:    public void viewAll(){    btnViewData.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            Cursor res =myDB.getAllData();            if (res.getCount() == 0)                showMessage("Error","No data Found");            {                return;            }            StringBuffer buffer = new StringBuffer();            while (res.moveToNext()){                buffer.append("Id :"+res.getString(0)+"\n");                buffer.append("Name :"+res.getString(1)+"\n");                buffer.append("Surname :"+res.getString(2)+"\n");                buffer.append("Marks :"+res.getString(3)+"\n\n");            }            showMessage("Data",buffer.toString());        }    });}
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

更新您的代码。您在错误的位置使用了 {},这就是您面临此问题的原因。


if (res.getCount() == 0){

            //show message

            showMessage("Error","No data Found");

            return;

        }


查看完整回答
反对 回复 2021-09-03
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您放错了 if 语句的起始大括号。Return 总是被调用,并且 return 下面的行永远不会被执行。因此无法访问的语句..添加花括号如下


            if (res.getCount() == 0){

                //show message

                showMessage("Error","No data Found");


                return;

            }

上面的代码将解决这个问题。但是,更好的方法是避免不必要的 return 语句。像这样 :


public void viewAll(){

    btnViewData.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View v) {

          Cursor res =myDB.getAllData();

          if (res.getCount() > 0){


            StringBuffer buffer = new StringBuffer();


            while (res.moveToNext()){

                buffer.append("Id :"+res.getString(0)+"\n");

                buffer.append("Name :"+res.getString(1)+"\n");

                buffer.append("Surname :"+res.getString(2)+"\n");

                buffer.append("Marks :"+res.getString(3)+"\n\n");

            }

            //show all data

            showMessage("Data",buffer.toString());

          }

          else{

             //show message

             showMessage("Error","No data Found");

          }

        }

    });

}


查看完整回答
反对 回复 2021-09-03
  • 2 回答
  • 0 关注
  • 152 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号