⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nethelper.java

📁 一个java编写的拓扑自动发现程序
💻 JAVA
字号:
package com.sitech.net.topo.util;

public class netHelper {

	public String getNetNum(String Ipaddr, String NetMask) {
		String result = "";
		String[] ipParts = Ipaddr.split("\\.");
		String[] maskParts = NetMask.split("\\.");
		String[] netParts = new String[4];

		for (int i = 0; i < ipParts.length; i++) {
			ipParts[i] = this.afterAdd0(Integer.toString(Integer
					.parseInt(ipParts[i]), 2), 8);

			maskParts[i] = this.afterAdd0(Integer.toString(Integer
					.parseInt(maskParts[i]), 2), 8);

			// System.out.println(ipParts[i] + " " + maskParts[i]);
		}

		for (int i = 0; i < ipParts.length; i++) {
			String temp = "";
			for (int j = 0; j < ipParts[i].length(); j++) {
				temp = temp
						+ String.valueOf(Integer.parseInt(maskParts[i]
								.substring(j, j + 1))
								& Integer.parseInt(ipParts[i].substring(j,
										j + 1)));
			}
			netParts[i] = temp;
		}

		for (int i = 0; i < netParts.length; i++) {
			result = result
					+ String.valueOf(Integer.parseInt(String
							.valueOf(netParts[i]), 2)) + ".";
		}
		result = result.substring(0, result.length() - 1);

		return result;
	}

	/**
	 * 在输入的num前加0,总共digit位
	 * 
	 * @param num
	 *            输入数据
	 * @param digit
	 *            位数
	 * @return
	 */
	public String afterAdd0(String num, int digit) {
		String result = "";
		int numLength = num.length();
		for (int i = 0; i < (digit - numLength); i++) {
			result = result + "0";
		}
		result = result + num;
		return result;
	}

	public static void main(String args[]) {
		netHelper nethelper = new netHelper();
		String ipaddr = "130.30.2.6";
		String mask = "255.255.255.192";
		// System.out.println(nethelper.afterAdd0("11", 8));
		System.out.println(nethelper.getNetNum(ipaddr, mask));

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -