在if语句中将int与几个int进行比较

时间:2016-03-28 22:19:18

标签: java string char int

我试图找出如何创建if语句,如果提供的int与输入的任何顺序匹配,则该语句为真。例如,如果int为745,则使其为754或547或457返回true。我正在考虑变成一个字符串,然后提取每个char值并添加char值以使其成为比较值。那个工作吗?对不起,如果问题是愚蠢的,我是java新手。提前致谢

更新

我开发了一个有效的代码,除了它在输入时有效,例如647,我将它与638进行比较,因为它们都具有相等的char值。我该如何解决这个问题?



public int winAmount()   

{        
 
 int prizeMoney = 0;
 String user = Integer.toString(userNumbers);
 String winning = Integer.toString(winningNumbers);
 int userValue = user.charAt(0)+user.charAt(1)+user.charAt(2);
 int winningValue = winning.charAt(0)+winning.charAt(1)+winning.charAt(2);
 
 if (betType.equalsIgnoreCase("Straight Bet"))      
  {
   if (userNumbers == winningNumbers)   
    
    prizeMoney = 600 * betAmount;
  
   else 
       
    prizeMoney = 0 ;
  }    
 
 else 
  {
   if (userValue==winningValue) 
   {
       if (user.charAt(0)==user.charAt(1) || user.charAt(0)==user.charAt(2) || user.charAt(1)==user.charAt(2))
   
      prizeMoney = 200 * betAmount;
       
   
       else
          
       
           prizeMoney = 100 * betAmount;
       
    }
  }    
     
    return prizeMoney; 
    
}   
   
}




2 个答案:

答案 0 :(得分:2)

一种优雅而简单的方法是按数字对int进行排序。然后以相同的方式对要比较的其他整数进行排序。

所以,如果你有74442,你将对它进行排序,你将有24447。

然后,如果你比较任何其他数字,如47442排序,它将是24447。

最后,如果排序的值相等,那就是它。 (这将是一个简单的if语句)

以下是一个非常简单的算法,它将按数字对整数进行排序。

你所要做的就是提取算法并在你自己的程序中实现它,这应该是小菜一碟,我认为非常有效。

How to sort Integer digits in ascending order without Strings or Arrays?

答案 1 :(得分:0)

最简单的方法是将整数转换为字符串,根据字典顺序对字符串进行排序。然后测试是否平等。

public boolean isValid(int a, int b);   
{
    string s1 = String.valueOf(a);
    string s2 = String.valueOf(a);
    java.util.Arrays.sort(s1.toCharArray()); 
    java.util.Arrays.sort(ss.toCharArray()); 

    boolean isValid = s1.equale(s2);

    return isValid;

}