JAVA两个数字之和与乘积错误相反

JAVA两个数字之和与乘积错误相反,java,Java,我是JAVA的初学者。我在学校遇到了一个问题:丽莎正在主持一个聚会,在聚会期间,她计划给她的客人准备一些惊喜礼物 客人进入大厅时应挑选两张写有数字的纸条 宴会结束时,客人应该把他们的纸条带给丽莎。幸运的是那些收到满足以下条件的号码的人 这两个数字之和是这两个数字乘积的倒数 例如,如果一位客人把X和Y作为两个数字,他只有在 X+Y=AB;那么X*Y=BA 注:X和Y都应大于0。否则打印“无效输入” 我写的代码: if(num1>0) { S

我是JAVA的初学者。我在学校遇到了一个问题:丽莎正在主持一个聚会,在聚会期间,她计划给她的客人准备一些惊喜礼物

客人进入大厅时应挑选两张写有数字的纸条

宴会结束时,客人应该把他们的纸条带给丽莎。幸运的是那些收到满足以下条件的号码的人

这两个数字之和是这两个数字乘积的倒数

例如,如果一位客人把X和Y作为两个数字,他只有在

X+Y=AB;那么X*Y=BA

注:X和Y都应大于0。否则打印“无效输入”

我写的代码:

        if(num1>0) 
        {
         System.out.print("Enter second number: ");
         int num2=sc.nextInt();

         if(num2<=0)
         System.out.print("Invalid Input");
         else
           {
            sum=num1+num2;
            product=num1*num2;

            i=product%10;
            product=product/10;
            revproduct=(i*10)+product; 

             if(sum==revproduct)
             System.out.print("You are Lucky! Here Is your Gift."); 
             else
             System.out.print("Better Luck Next Time");
            }      
       else
       System.out.print("Invalid Input");
     }
if(num1>0)
{
系统输出打印(“输入第二个数字:”);
int num2=sc.nextInt();
如果(num2
class Main
{
公共静态整数反转(整数n)
{
int反向=0;
而(n!=0)
{
反向=反向*10;
反向=反向+n%10;
n=n/10;
}
反向返回;
}
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
INTA,b;
a=sc.nextInt();

如果(a@HimanshuAhuja不,我只尝试了两位数和和积的输入组合。这是你的问题。例如,
2+497=49994=2*497
11+110=0121210=11*110
——或者一位数的组合如何?
2+2=4=2*2
9+9=18 81=9*9
。@安德烈亚斯如何解决这个错误或者?有吗idea@xerx593编译器没有提到失败的测试用例。它只是显示:一个测试用例失败。相同的求和和和乘积检查。@xerx593是的,我明白了,revproduct只适用于2位数字。我应该使用循环来扩展它的范围还是更好的方法?
        if(num1>0) 
        {
         System.out.print("Enter second number: ");
         int num2=sc.nextInt();

         if(num2<=0)
         System.out.print("Invalid Input");
         else
           {
            sum=num1+num2;
            product=num1*num2;

            i=product%10;
            product=product/10;
            revproduct=(i*10)+product; 

             if(sum==revproduct)
             System.out.print("You are Lucky! Here Is your Gift."); 
             else
             System.out.print("Better Luck Next Time");
            }      
       else
       System.out.print("Invalid Input");
     }
while (input != 0) 
{    
    last_digit = input % 10;
    if (last_digit % 2 != 0) {     
        reversedNum = reversedNum * 10 + last_digit;

    }
    input = input / 10; 
}
class Main
{
    public static int reverse(int n)
    {
        int reverse = 0;
        while (n != 0)
        {
            reverse = reverse * 10;
            reverse = reverse + n % 10;
            n = n / 10;
        }
        return reverse;
    }

    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        int a, b;
        a = sc.nextInt();
        if (a <= 0)
        {
            System.out.println("Invalid Input");
        } else
        {

            b = sc.nextInt();

            if (b <= 0)
            {
                System.out.println("Invalid Input");
            } else
            {
                if (a + b == reverse(a * b))
                {
                    System.out.println("You are Lucky! Here Is your Gift");
                } else
                {
                    System.out.println("Better Luck Next Time");
                }
            }
        }
    }
}