我试图找出如何创建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;
}
}

答案 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;
}