刹那无痕279 2021-11-24 15:41 采纳率: 100%
浏览 46
已结题

请问各位,这个应该怎么写啊,真的一点头绪也没有:)

设计一个名为“我的整数”的类。该类包含:

  1. 一个名为值的int数据字段,它存储由此对象表示的int值。
  2. 为指定的int值创建MyInteger对象的构造函数。
  3. 一个返回int值的get方法。
  4. 方法为偶数()、isOdd()和isPrime(),如果值分别为偶数、奇数或素数,则分别返回
    true。
  5. 静态方法是偶数(int)、isOdd(int)和is素数(int),如果指定的值分别为偶数、奇数或
    素数,则分别返回true。
  6. 静态方法为偶数(我整数)、isOdd(我整数)和素数(我整数),如果指定值为偶数、
    奇数或素数,则分别返回true。
  7. 方法等于(int)和等于(MyInteger),如果对象中的值等于指定的值,则返回true。
  8. 一种静态方法解析int(char[]),它将数字字符数组转换为int值。
  9. 一种静态方法解析字符串(String),它将字符串转换为int值。
    编写一个名为Myintegest的客户端程序来测试类中的所有方法。

-


  • 写回答

3条回答 默认 最新

  • 一枚小爪哇 2021-11-24 16:42
    关注
    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"));
      }
    }
    
    

    运行结果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 修改了问题 11月24日
  • 修改了问题 11月24日
  • 展开全部

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分