我遇到了一种情况,我需要使用一种方法来检查数字10到50的两位数之和是否大于10,然后显示该数字。我必须使用for循环。

这是我的主要:

public class nested_loop2
{
public static void main(String args[])
{
    for (int i=10;i<=50;i++){
       System.out.println(ax(i));
    }
}


这是我的方法:

   public static int ax(int i){
       int a=i/10;
       int b=i%10;
       if((a+b)>10){
           return i;
       }
       else {
          return 0;
       }
    }
 }


我的问题是我只希望它显示那些通过验证的特定数字。在当前状态下,它还会为所有不合适的列输出0。我不希望它返回0,我只希望它不为else {}语句返回任何内容。

最佳答案

您需要在ax方法中返回的唯一信息是位数总和是否大于10。顺便说一句,名称ax并未描述您的方法所执行的操作。也许您可以使用sumOfDigitsGreaterThan10

您无需返回int;您可以返回boolean。代替返回i,返回true。代替返回0,返回false

然后在您的main方法中,使用if语句测试此返回的boolean以确定是否打印数字。

或者,如果数字的总和大于10,则可以使该方法ax自行打印数字,而在else情况下不打印任何内容。现在,此方法将返回void

10-05 21:30
查看更多