我正在为学校的作业编写代码,但它要求我比较两个int值。例如,如果您的号码为123而另一个号码为321,则它们具有相同的数字,但顺序不同。是否有比较简单的方法或者我必须将它们变成字符串并将它们作为字符串类型进行比较?如果它是后者,我怎么能比较两个字符串?没有数组有没有办法做到这一点?
答案 0 :(得分:1)
通过比较int值,如果你的意思是大于,小于或等于你可以这样做。
int a = 123, b= 321;
if(a > b)
//a is greater than b (b is less than a)
if(a == b)
// a is equal to b
if(a < b)
// a is less than b (b is greater)
可以使用一些澄清,如果你想检查数字是否像你在一个名为回文的例子中所说的那样反转。
如果您对以下代码段中的循环和模数(%)有经验,则可以撤消以下数字。
int r = 0;
while(number != 0){
r = r * 10 + number % 10;
number /= 10; }
return r;
r将是这个数字逆转。如果你输入让我们说123你会得到321,然后你可以将它与另一个进行比较,看看它是否正好相反。
如果您有任何其他问题,请告诉我,我会尽力回答!
要检查某个号码是否被任意混合而不是与中奖号码相反,您可以尝试以下操作。
两个数字a和b,a是中奖号码,b是用户选择的号码。 a是251,b是521。
您可以对每个号码执行此操作以将它们分开。
int p1,p2,p3;
p1 = num % 10;
p2 = num / 10 % 10;
p3 = num / 100 % 10;
这会将ex分开。 251到2,5,然后1.然后你可以添加它们,因为这样做第二个相同的过程。对于第二个数,sum是p1 + p2 + p3,sum2是p4 + p5 + p6。如果数字不反转。使用我之前提到的那种情况来检查它们是否被翻转。
if(sum == sum2)
//Numbers are mixed but you won!
这应该有用。
答案 1 :(得分:1)
当然不是最快的解决方案,但代码简短易懂。
toolbar = (Toolbar) findViewById(R.id.my_toolbar);
答案 2 :(得分:0)