java bluej关于缺少返回语句
所以,当我编译它时,它会说缺少返回是必需的java bluej关于缺少返回语句,java,bluej,Java,Bluej,所以,当我编译它时,它会说缺少返回是必需的 import java.util.*; class p19 { public static int isPDA(int n) { Scanner ob=new Scanner(System.in); int i,s=0; for(i=1;i<n;i++) { if(n%i==0) { s=
import java.util.*;
class p19
{
public static int isPDA(int n)
{
Scanner ob=new Scanner(System.in);
int i,s=0;
for(i=1;i<n;i++)
{
if(n%i==0)
{
s=s+i;
}
if(s==n)
{
return 0;
}
if(s<n)
{
return -1;
}
if(s>n)
{
return +1;
}
}
}
}
import java.util.*;
p19类
{
公共静态int isPDA(int n)
{
扫描器ob=新扫描器(System.in);
int i,s=0;
for(i=1;iisPDA
是一种方法,如果满足中的哪个条件,但控制流语句阻止了返回,则必须返回一个整数
…尝试组织您的想法,并尝试以下方式:
if(s==n)
{
return 0;
}
else if(s<n)
{
return -1;
}
else
{
return +1;
}
if(s==n)
{
返回0;
}
否则,如果(s要扩展@jipr311所说的,如果参数“n”是要建立在@jipr311和@DBug所说的基础上,用外行的话来说,编译器需要确保无论在条件语句中发生什么,该方法都会返回一些东西。这意味着在某种程度上,编译器不关心“if”是什么语句是,只是在没有执行任何if语句的情况下(如果程序设计正确,可能不会发生这种情况),会返回一些内容
正如@DBug所说,一种解决方法是在if中添加一个“else”语句。这可以确保编译器以某种方式执行“if”条件下的return语句,或者执行“else”条件下的return语句。您当前的代码无法向编译器保证这类事情