java编译报错:缺少返回语句
编译错误
1. 缺少返回语句
编译器不负责运⾏程序,只负责检查语法,编译器觉得:以下这⾏代码可能会执⾏,当然也可能不会执⾏。
编译器为了确保程序不出现任何异常,所以编译器说:缺少返回语句!!
/*
2、编写⼀个⽅法,输出⼤于某个正整数n的最⼩的质数。
思考:这个⽅法应该起什么名字,这个⽅法的形参是什么,⽅法的返回值类型是什么。
例如:这个正整数是1,⼤于它的最⼩质数就是3
*/
编译器错误public class FangFa{
public static void main(String[] args){
java.util.Scanner s = new java.util.Scanner(System.in);
int num = s.nextInt();
int result = prime(num);
System.out.println(result);
}// n = 1; 最⼩质数就是2
public static int prime(int n){
//怎样判断⼤于某个整数的最⼩质数
for(int i = n+1; i <= 10000; i++){// i= 2;
for(int j = 2; j < i; j++){
if(i%j==0){
break; //当前这个数不是质数
}
}
return i; //编译报错:缺少返回语句,说明这条语句可能执⾏也可能不执⾏。--不是质数跳出循环,将合数返回了,
//是质数也返回,所以这⾥错了,应该改⽤while循环来写,同时return语句也不能放在for循环当中。
}
}
}
编译报错:在21⾏,缺少返回语句,这是什么原因呢?⾸先这个程序是错误的,我们暂且不讨论,就单单讨论为什么缺少返回语句,导致该条报错的原因就是:说明这条语句可能执⾏也可能不执⾏。那存在这种情况吗?答案是存在的,因为for循环,当条件表达式为false的时候,return 值;这条语句就不会执⾏。建议:return语句不要放在for循环当中!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论