如何通过一个IP和子网掩码得到网络地址和广播地址

来源:互联网 发布:linux显示文件大小 编辑:程序博客网 时间:2024/04/29 20:11

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package javatest;
import java.io.IOException;
import java.io.*;
/**
 *
 * @author Administrator
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        try{
            InputStreamReader reader=new InputStreamReader(System.in);
            BufferedReader buffin=new BufferedReader(reader);
            System.out.println("请输入IP地址:");
            String IPStr=buffin.readLine();
            System.out.println("请子网掩码:");
            String SubNetAddrStr=buffin.readLine();
            String[] IPArrays=IPStr.split("[.]");
            String[] SubNetAddrArrays=SubNetAddrStr.split("[.]");
            int[] NetIP=new int[4];
            int[] NetBroadcast=new int[4];
            System.out.println("网络地址:");
            for(int i=0;i<4;i++){
                NetIP[i]=Integer.parseInt(IPArrays[i])&Integer.parseInt(SubNetAddrArrays[i]);
                if(i==3){
                    System.out.print(NetIP[i]);
                }else{
                    System.out.print(NetIP[i]+"-");
                }
            }
            System.out.println();
            System.out.println("网络广播地址:");
            for(int i=0;i<4;i++){
                NetBroadcast[i]=255-Integer.parseInt(SubNetAddrArrays[i])+NetIP[i];
                if(i==3){
                    System.out.print(NetBroadcast[i]);
                }else{
                    System.out.print(NetBroadcast[i]+"-");
                }
            }
        }catch(IOException ex){
            System.out.println(ex.toString());
        }       
    }
}

原创粉丝点击