博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 编译错误:缺少返回语句
阅读量:4450 次
发布时间:2019-06-07

本文共 1075 字,大约阅读时间需要 3 分钟。

示例:

import java.util.*;import java.io.*;public class tt {    public static void main(String[] args) {        foo();    }        public static String foo() {        int i=0;        while(i<10) {            return "ggg";        }    }}

该函数编译便会报错:缺少返回语句。尽管看起来(i<10)是肯定为真的,但是编译器不会把i=0带进去算,所以它觉得foo函数有可能无返回值(即while后条件为假的时候)。

同理,把while改成if,编译报同样的错误。

把while(i<10)改为while(true)后,不再报错。

 

但是C就随意得多,跟Java比起来以下如此不确定的代码也能正常编译运行:

#include 
#include
int main(){ int a=foo(); printf("%d\n",a); return 0;}int foo(){ int i=0; while(i++<10) { if(i>5) return 5; else return 4; }}

 

 再举个java例子:

这么写会提示缺少返回语句,

public static boolean has3(int[] a) {    for(int i=0; i

 

稍稍改动一下即可:

import java.util.*;import java.io.*;public class has {    public static void main(String[] args) {        int[] b = {1,2,3,4,5};        int[] c = {1,2,4,5};        System.out.println(has3(b));        System.out.println(has3(c));    }        public static boolean has3(int[] a) {        for(int i=0; i

 

  

 

转载于:https://www.cnblogs.com/duanguyuan/p/3643661.html

你可能感兴趣的文章
[转帖]Oracle dba_objects和all_objects 最大的区别
查看>>
【转帖】国产x86处理器KX-6000发布
查看>>
RSA算法及其在iOS中的使用
查看>>
04-js的运算符
查看>>
第三天 while循环 及其用法
查看>>
Delphi 10 seattle 去掉自带的代码连接线
查看>>
构建高并发高可用的电商平台架构实践(转)
查看>>
Geometry Imager Viewport Filter
查看>>
Guava API学习之Optional 判断对象是否为null
查看>>
九度oj 题目1025:最大报销额
查看>>
数字及字符串
查看>>
【转载】OmniGraffle (二)基础绘图和模具
查看>>
一些提高开发效率的 Category
查看>>
拓扑排序基础题——排序
查看>>
搭建keepalived+mysql主从复制高可用
查看>>
假如你在每一个变化中看见崭新的自己
查看>>
转:iphone 申请证书
查看>>
电子测量作业——采用DDS(数字频率合成法)设计信号发生器 ,完成设计方案。...
查看>>
Python就业方向
查看>>
一步步学习SPD2010--第二章节--处理SP网站(3)--创建网站层次架构
查看>>