Java 程序正在显示缺少的语句。为什么会出现这种错误? 静态字符串dayOfProgrammer(整数年){ 如果(年份==1918){ 字符串日期=“26:08:”+年; 返回日期; } 如果(1918年){ 如果(第%4年==0){ 字符串日期=“12:09:”+年; 返回日期; } 否则{ 字符串日期=“13:09:”+年; 返回日期; } } }
Blockquote方法接受整数值“year”,并应返回字符串值“date”。但由于so问题,当针对多个测试用例进行测试时,它显示了缺少return语句的运行时错误Java 程序正在显示缺少的语句。为什么会出现这种错误? 静态字符串dayOfProgrammer(整数年){ 如果(年份==1918){ 字符串日期=“26:08:”+年; 返回日期; } 如果(1918年){ 如果(第%4年==0){ 字符串日期=“12:09:”+年; 返回日期; } 否则{ 字符串日期=“13:09:”+年; 返回日期; } } },java,string,methods,Java,String,Methods,Blockquote方法接受整数值“year”,并应返回字符串值“date”。但由于so问题,当针对多个测试用例进行测试时,它显示了缺少return语句的运行时错误 编译器不能保证所有路径都返回一个值。将语句if(year1918)切换为else,所有路径将返回: static String dayOfProgrammer(int year) { if(year==1918){ String date= "26:08:"+year;
编译器不能保证所有路径都返回一个值。将语句
if(year1918)
切换为else
,所有路径将返回:
static String dayOfProgrammer(int year) {
if(year==1918){
String date= "26:08:"+year;
return date;
}
if(year<1918|| year>1918){
if(year%4==0){
String date= "12:09:"+year;
return date;
}
else{
String date= "13:09:"+year;
return date;
}
}
}
编译器不能保证所有路径都返回一个值。将语句
if(year1918)
切换为else
,所有路径将返回:
static String dayOfProgrammer(int year) {
if(year==1918){
String date= "26:08:"+year;
return date;
}
if(year<1918|| year>1918){
if(year%4==0){
String date= "12:09:"+year;
return date;
}
else{
String date= "13:09:"+year;
return date;
}
}
}
@HaroldH前面的答案是正确的,但我建议使用更简单的布局
static String dayOfProgrammer(int year) {
if(year==1918){
String date= "26:08:"+year;
return date;
}
else{
if(year%4==0){
String date= "12:09:"+year;
return date;
}
else{
String date= "13:09:"+year;
return date;
}
}
}
甚至(因为“return”之后不需要“else”)
这两个版本的简单布局使控制流一目了然,并且您可以看到始终执行一个返回
将“elseif(…)”放在一行上不会导致进一步缩进,这强调了代码在备选方案之间进行简单的选择序列
实际上,您不需要“else”——如第二个示例所示。我认为这是一种品味的选择;我想在这种情况下我更喜欢第一种,但没有硬性规定;重要的是结果代码的透明度
你会注意到我消除了“数据”变量;它们在这里没有真正的用途。之前@HaroldH的回答是正确的,但我建议使用更简单的布局
static String dayOfProgrammer(int year) {
if(year==1918){
String date= "26:08:"+year;
return date;
}
else{
if(year%4==0){
String date= "12:09:"+year;
return date;
}
else{
String date= "13:09:"+year;
return date;
}
}
}
甚至(因为“return”之后不需要“else”)
这两个版本的简单布局使控制流一目了然,并且您可以看到始终执行一个返回
将“elseif(…)”放在一行上不会导致进一步缩进,这强调了代码在备选方案之间进行简单的选择序列
实际上,您不需要“else”——如第二个示例所示。我认为这是一种品味的选择;我想在这种情况下我更喜欢第一种,但没有硬性规定;重要的是结果代码的透明度
你会注意到我消除了“数据”变量;他们在这里没有真正的作用