【问题标题】:Error showing missing return statement even returning错误显示缺少返回语句甚至返回
【发布时间】:2015-09-02 08:37:00
【问题描述】:

怎么做?在这里我想获取数据。 html页面中的结果。我想在我的应用程序中向最终用户展示它。 html文档会自动呈现页面吗?或者它会在显示器上显示相同的 html 代码。我用了这个来源 http://developer.android.com/intl/es/training/basics/network-ops/connecting.html#AsyncTask 制作这个应用程序。修改是我要显示完整的页面。

public char readIt(InputStream stream)throws IOException, UnsupportedEncodingException {
       Reader reader = null;
       reader = new InputStreamReader(stream,"UTF-8");
       int k = reader.read();
       while (k != -1) {
           return (char) reader.read();
           k = reader.read();
       }
   }

【问题讨论】:

  • 如果 k == -1 在进入 while 循环之前,你没有返回任何东西
  • 你的while循环不能保证运行
  • 你的代码应该是什么if k==-1?它应该在循环之外返回。您可以根据您的 while 循环迭代提前返回。
  • 您需要确保您的方法在任何情况下都会返回您的值。换句话说,如果它不进入while循环会发生什么?
  • 如果要显示完整的页面,为什么你的方法的返回类型设置为char

标签: java android android-browser


【解决方案1】:

如果您的代码没有进入 while 循环,它将返回什么?在任何情况下,返回语句都应该由方法签名指定。此外,您的 while 循环对我来说似乎有问题,因为您将第一个语句本身作为 return 语句。

该方法应具有以下结构:

public char readIt(InputStream stream)throws IOException, UnsupportedEncodingException {
       Reader reader = null;
      // do processing
      return reader;
}

【讨论】:

    猜你喜欢
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2013-03-21
    • 2016-01-04
    • 1970-01-01
    • 2020-05-28
    • 2014-08-20
    相关资源
    最近更新 更多