public class MyInteger {
/** 一个名为值的int数据字段,它存储由此对象表示的int值。 */
private int num;
/**
* 2. 为指定的int值创建MyInteger对象的构造函数。
*
* @param num num
*/
public MyInteger(int num) {
this.num = num;
}
/**
* 3. 一个返回int值的get方法
*
* @return num
*/
public int getNum() {
return num;
}
/**
* 4. 方法为偶数()、isOdd()和isPrime(),如果值分别为偶数、奇数或素数,则分别返回 真。
*
* @return true/false
*/
public boolean isEven() {
return isEven(getNum());
}
public boolean isOdd() {
return isOdd(getNum());
}
public boolean isPrime() {
return isPrime(getNum());
}
/**
* 5. 静态方法是偶数(int)、isOdd(int)和is素数(int),如果指定的值分别为偶数、奇数或 素数,则分别返回true。 <br>
* 偶数判断静态方法
*
* @param num num
* @return true/false
*/
public static boolean isEven(int num) {
if ((num % 2) == 0) {
return true;
} else {
return false;
}
}
/**
* 奇数判断静态方法
*
* @param num num
* @return true/false
*/
public static boolean isOdd(int num) {
if ((num % 2) != 0) {
return true;
} else {
return false;
}
}
/**
* 素数判断静态方法
*
* @param num num
* @return true/false
*/
public static boolean isPrime(int num) {
boolean flag = true;
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
flag = false;
}
}
return flag;
}
/**
* 6. 静态方法为偶数(我整数)、isOdd(我整数)和素数(我整数),如果指定值为偶数、 奇数或素数,则分别返回true。
*
* @param myInteger myInteger
* @return true
*/
public boolean isEven(MyInteger myInteger) {
return isEven(myInteger.getNum());
}
public boolean isOdd(MyInteger myInteger) {
return isOdd(myInteger.getNum());
}
public boolean isPrime(MyInteger myInteger) {
return isPrime(myInteger.getNum());
}
/** 7.方法等于(int)和等于(MyInteger),如果对象中的值等于指定的值,则返回true。 */
public boolean isEquals(int num, MyInteger myInteger) {
return num == myInteger.getNum();
}
/**
* 8.一种静态方法解析int(char[]),它将数字字符数组转换为int值。
*
* @param ch ch
* @return int[]
*/
public static int[] charToInt(char[] ch) {
int[] arr = new int[ch.length];
int num;
for (int i = 0; i < ch.length; i++) {
// 判断是否是数字
if (Character.isDigit(ch[i])){
num = (int)ch[i] - (int)('0');
}else {
num = ch[i];
}
arr[i] = num;
}
return arr;
}
/** 9.一种静态方法解析字符串(String),它将字符串转换为int值。 */
public static int strToInt(String str) {
return Integer.parseInt(str);
}
}
public class MyIntegerTest {
public static void main(String[] args) {
MyInteger myInteger = new MyInteger(12);
int num = myInteger.getNum();
System.out.println("getNum: " + num);
System.out.println(num + " isOdd: " + myInteger.isOdd());
System.out.println(num + " isEven: " + myInteger.isEven());
System.out.println(num + " isPrime: " + myInteger.isPrime());
MyInteger myInteger1 = new MyInteger(8);
System.out.println(myInteger1.getNum() + " isEven: " + myInteger.isEven(myInteger1));
MyInteger myInteger2 = new MyInteger(9);
System.out.println(myInteger2.getNum() + " isOdd: " + myInteger.isOdd(myInteger2));
MyInteger myInteger3 = new MyInteger(11);
System.out.println(myInteger3.getNum() + " isPrime: " + myInteger.isPrime(myInteger3));
MyInteger myInteger4 = new MyInteger(15);
System.out.println(
num + "," + myInteger4.getNum() + " isEquals: " + myInteger.isEquals(num, myInteger4));
System.out.println("isEven: " + MyInteger.isEven(4));
System.out.println("isOdd: " + MyInteger.isOdd(9));
System.out.println("isPrime: " + MyInteger.isPrime(9));
char[] ch = {'A', 'a', '2', '5'};
int[] toInt = MyInteger.charToInt(ch);
System.out.print("char转int: ");
for (int i : toInt) {
System.out.print(i + " ");
}
System.out.println();
System.out.println("String转int: " + MyInteger.strToInt("789"));
}
}
运行结果: