任何人都知道如何使用加法或减法运算符识别给定数字是奇数还是偶数?我是编码的新手,并不知道如何做到这一点?
答案 0 :(得分:7)
使用减法。
int inputNumber = 12;
while(inputNumber>2)
{
inputNumber-=2;
}
if(inputNumber==1)
System.out.println("Odd Number");
else
System.out.println("Even Number");
答案 1 :(得分:2)
使用添加
int inputNumber = 12;
int absInputNumber = Math.abs(inputNumber)
int i = 0;
while(i < absInputNumber) {
i += 2
}
if(inputNumber==i)
System.out.println("Even Number");
else
System.out.println("Odd Number");
答案 2 :(得分:0)
Java答案(不参考Math类):
package odd.even.tester;
public class OddEvenTester {
public boolean isEven(int number) {
int evaluatedValue = number;
if (evaluatedValue < 0) {
evaluatedValue *= (-1);
}
while (evaluatedValue > 0) {
evaluatedValue -= 2;
}
return evaluatedValue == 0;
}
}
简短测试:
package odd.even.tester;
import org.junit.Test;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;
public class OddEvenTesterTest {
@Test
public void testIsEven() {
OddEvenTester tester = new OddEvenTester();
assertTrue(tester.isEven(-10));
assertTrue(tester.isEven(-8));
assertTrue(tester.isEven(-6));
assertTrue(tester.isEven(-4));
assertTrue(tester.isEven(-2));
assertTrue(tester.isEven(0));
assertTrue(tester.isEven(2));
assertTrue(tester.isEven(4));
assertTrue(tester.isEven(6));
assertTrue(tester.isEven(8));
assertTrue(tester.isEven(10));
assertFalse(tester.isEven(-9));
assertFalse(tester.isEven(-7));
assertFalse(tester.isEven(-5));
assertFalse(tester.isEven(-3));
assertFalse(tester.isEven(-1));
assertFalse(tester.isEven(1));
assertFalse(tester.isEven(3));
assertFalse(tester.isEven(5));
assertFalse(tester.isEven(7));
assertFalse(tester.isEven(9));
}
}
答案 3 :(得分:0)
还有另一种方法可以使用“mod”,它是'%'符号。如果你有一个数字并使用%2,那么如果答案为0则为偶数,如果为1,则为奇数。
示例:
int test = 12
if (test % 2 == 0)
System.out.print("Even.");
else
System.out.print("Odd.");
您可以将其合并到加法和减法运算符中。