Scala生成ip和Mac

本文介绍了一种生成随机IP地址及对应的MAC地址的方法。通过控制特定位置数字的特性(如第二个数字为偶数),确保了生成的MAC地址具有一定的规律性。此外,还实现了将整数转换为适用于MAC地址格式的十六进制字符串。
//生成ip和MAC
  def genMacIp(): (String, String) = {
    val ipArr: Array[Int] = new Array[Int](4)
    //生成IP
    for (i <- 0 to ipArr.length - 1) {
      var rdInt: Int = Random.nextInt(256)
      //控制第二个数字是偶数,用于mac
      while (i == 2 && rdInt % 2 == 1) {
        rdInt = Random.nextInt(256)
      }
      if (i == 1 && rdInt == 0) rdInt = 1
      ipArr(i) = rdInt
    }
    val macArr: Array[Int] = new Array[Int](6)
    val macStrArr: Array[String] = new Array[String](6)
    for (i <- 0 to macArr.length - 1) {
      macArr(i) = ipArr(i % 4)
    }
    for (i <- 0 to macArr.length - 1) {
      var hexStr: String = Integer.toHexString(macArr(i)).toUpperCase()
      if (macArr(i) < 16) {
        hexStr = "0" + hexStr
      }
      macStrArr(i) = hexStr
    }
    val mac: String = macStrArr.mkString(":")
    val ip: String = ipArr.mkString(".")
    (mac, ip)
  }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值