Java错误缺少返回语句
好吧,我正试图写这段代码,但我一直得到这个愚蠢的错误。我不知道我做错了什么,所以也许你们中的一位专家可以帮助我Java错误缺少返回语句,java,Java,好吧,我正试图写这段代码,但我一直得到这个愚蠢的错误。我不知道我做错了什么,所以也许你们中的一位专家可以帮助我 import java.util.*; public class School { Random randQuest = new Random(); int userAnswer; public void createQuestion() { int range = 10; // range of numbers in question int num1 =
import java.util.*;
public class School
{
Random randQuest = new Random();
int userAnswer;
public void createQuestion()
{
int range = 10; // range of numbers in question
int num1 = randQuest.nextInt( range );
int num2 = randQuest.nextInt( range );
userAnswer = num1 * num2;
System.out.printf( "How much is %d times %d?\n",
num1, num2 );
}
// prompt comment
public String promComm( boolean answer )
{
if ( answer )
{
switch ( randQuest.nextInt( 1 ) )
{
case 0:
return( "Very Good!" );
}
switch ( randQuest.nextInt( 1 ) )
{
case 0:
return( "No. Please try again." );
}
}
}
}在方法
promcom
中,如果answer
为false
则该方法不返回任何值。
如果randQuest.nextInt(1)!=0.
应该是这样的:
public String promComm( boolean answer ){
if (answer){
switch (randQuest.nextInt(1)){
case 0:
return("Very Good!");
}
switch (randQuest.nextInt(1) ){
case 0:
return( "No. Please try again." );
}
return "Some value";
}else
return "Some value";
}
在方法
promcom
中,如果answer
为false
则该方法不返回任何值。
如果randQuest.nextInt(1)!=0.
应该是这样的:
public String promComm( boolean answer ){
if (answer){
switch (randQuest.nextInt(1)){
case 0:
return("Very Good!");
}
switch (randQuest.nextInt(1) ){
case 0:
return( "No. Please try again." );
}
return "Some value";
}else
return "Some value";
}
您的方法
promComm
在任何情况下都应该返回一个字符串,而它不返回字符串。最简单的修复方法是添加一个默认返回语句
public String promComm( boolean answer ){
if ( answer ){
//...
}
return "default value when answer is false.";
}
您的方法
promComm
在任何情况下都应该返回一个字符串,而它不返回字符串。最简单的修复方法是添加一个默认返回语句
public String promComm( boolean answer ){
if ( answer ){
//...
}
return "default value when answer is false.";
}
promComm方法返回字符串,但如果开关值不是0,则函数将不返回任何内容-没有默认的返回语句。promComm方法返回字符串,但如果开关值不是0,则函数将不返回任何内容-没有默认的返回语句。尝试编写此命令
public String promComm( boolean answer ){
if ( answer ){
//...
}
return "default value when answer is false.";
}
public String promComm( boolean answer )
{
if ( answer )
{
switch ( randQuest.nextInt( 1 ) )
{
case 0: return( "Very Good!" );
}
switch ( randQuest.nextInt( 1 ) )
{
case 0: return( "No. Please try again." );
}
}
return "";
}
试着写这个
public String promComm( boolean answer )
{
if ( answer )
{
switch ( randQuest.nextInt( 1 ) )
{
case 0: return( "Very Good!" );
}
switch ( randQuest.nextInt( 1 ) )
{
case 0: return( "No. Please try again." );
}
}
return "";
}
在if-else语句之后返回字符串结果
public String promComm( boolean answer ){
if(answer){
...
}else{
...
}
return ""; //empty string <-- you are missing a default return statement
}
公共字符串promComm(布尔答案){
若有(答复){
...
}否则{
...
}
return“”;//空字符串在if-else语句之后返回字符串结果
public String promComm( boolean answer ){
if(answer){
...
}else{
...
}
return ""; //empty string <-- you are missing a default return statement
}
公共字符串promComm(布尔答案){
若有(答复){
...
}否则{
...
}
return“”;//空字符串当方法具有返回类型时,其所有代码流都必须返回值。
在代码中,如果答案为false,则promComm()不会运行到if块和
永不返回值
除此之外,不建议在方法中使用多次返回
例如,您可以通过以下方式避免此问题:
public String promComm( boolean answer ) {
String returnValue = "Answer is false"; //or = ""
if ( answer )
{
switch ( randQuest.nextInt( 1 ) )
{
case 0:
returnValue = "Very Good!";
}
switch ( randQuest.nextInt( 1 ) )
{
case 0:
returnValue = "No. Please try again.";
}
}
return returnVal;
}
当一个方法有一个返回类型时,它的所有代码流都必须返回一个值。
在代码中,如果答案为false,则promComm()不会运行到if块和
永不返回值
除此之外,不建议在方法中使用多次返回
例如,您可以通过以下方式避免此问题:
public String promComm( boolean answer ) {
String returnValue = "Answer is false"; //or = ""
if ( answer )
{
switch ( randQuest.nextInt( 1 ) )
{
case 0:
returnValue = "Very Good!";
}
switch ( randQuest.nextInt( 1 ) )
{
case 0:
returnValue = "No. Please try again.";
}
}
return returnVal;
}
return
不使用括号。在您用下面的任何正确答案解决问题后,请查看Bob Martin在其中指出的内容,即永远不要编写使用布尔参数的方法。这只是一种糟糕的做法。我知道这不是答案,但您使用带有布尔参数的方法让您陷入麻烦首先是ble!所以,希望你会发现这个技巧很有用。干杯。return
不使用括号。在你用下面的任何正确答案解决问题后,看看Bob Martin在其中指出的,永远不要编写使用布尔参数的方法。这只是一个糟糕的做法。我知道这不是answer但是你使用带有布尔参数的方法首先让你陷入了麻烦!所以,希望你会发现这个技巧很有用。干杯。你不应该也提供一个原因吗?为什么?@SiB:这很容易被shinobi理解你不应该也提供一个原因吗?为什么?@SiB:这很容易被shinobi理解