Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.50 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class ip {
  4.    
  5.     public static void main(String[] args) {
  6.         int i = 0;
  7.         Scanner in = new Scanner(System.in);
  8.         System.out.println("Please enter an IPv4 address in dot-decimal notation:");
  9.         String ip = in.nextLine();
  10.         String[] octetArray = ip.split("\\.");
  11.         StringBuilder binaryIP = new StringBuilder();
  12.         if(octetArray.length != 4) {
  13.             System.out.println("Invalid IPv4!");
  14.             return;
  15.         }
  16.         System.out.println("Please enter a mask length:");
  17.         int mask = Integer.parseInt(in.nextLine());
  18.         if(mask < 1 || mask > 31) {
  19.             System.out.println("Invalid mask length!");
  20.             return;
  21.         }
  22.         System.out.println("The IPv4 address in binary notation:");
  23.         for (String string : octetArray) {
  24.             int octet = Integer.parseInt(string);
  25.             if(octet < 0 || octet > 255) {
  26.                 System.out.println("Invalid IPv4!");
  27.                 break;
  28.             }
  29.             StringBuilder binaryOctet = new StringBuilder(Integer.toBinaryString(octet));
  30.             while (binaryOctet.length() < 8)
  31.                 binaryOctet.insert(0, "0");
  32.             binaryIP.append(binaryOctet.toString());
  33.             if(++i < 4) System.out.print(binaryOctet + ".");
  34.             else System.out.print(binaryOctet);
  35.         }
  36.         System.out.print("\n\nAddresses in binary / dot-decimal notation:");
  37.         StringBuilder binaryMask = new StringBuilder();
  38.         StringBuilder binaryNetwork = new StringBuilder();
  39.         StringBuilder binaryBroadcast = new StringBuilder();
  40.         System.out.print("\nMask: ");
  41.         for(i = 0; i < 32; i++) {
  42.             if (i < mask) {
  43.                 binaryMask.append(1);
  44.                 System.out.print(1);
  45.             } else {
  46.                 binaryMask.append(0);
  47.                 System.out.print(0);
  48.             }
  49.             if (i % 8 == 7 && i != 31) System.out.print(".");
  50.         }
  51.         System.out.print(" / ");
  52.         for(i = 0; i < 4; i++) {
  53.             System.out.print(Integer.parseInt(binaryMask.substring(i*8, (i+1)*8), 2));
  54.             if(i != 3) System.out.print(".");
  55.         }
  56.         System.out.print("\nNetwork: ");
  57.         for(i = 0; i < 32; i++) {
  58.             if(binaryMask.toString().charAt(i) == '1' && binaryIP.toString().charAt(i) == '1') {
  59.                 binaryNetwork.append(1);
  60.                 System.out.print(1);
  61.             } else {
  62.                 binaryNetwork.append(0);
  63.                 System.out.print(0);
  64.             }
  65.             if (i % 8 == 7 && i != 31) System.out.print(".");
  66.         }
  67.         System.out.print(" / ");
  68.         for(i = 0; i < 4; i++) {
  69.             System.out.print(Integer.parseInt(binaryNetwork.substring(i*8, (i+1)*8), 2));
  70.             if(i != 3) System.out.print(".");
  71.         }
  72.         System.out.print("\nBroadcast: ");
  73.         for(i = 0; i < 32; i++) {
  74.             if (i < mask) {
  75.                 binaryBroadcast.append(binaryNetwork.toString().charAt(i));
  76.                 System.out.print(binaryNetwork.toString().charAt(i));
  77.             } else {
  78.                 binaryBroadcast.append(1);
  79.                 System.out.print(1);
  80.             }
  81.             if (i % 8 == 7 && i != 31) System.out.print(".");
  82.         }
  83.         System.out.print(" / ");
  84.         for(i = 0; i < 4; i++){
  85.             System.out.print(Integer.parseInt(binaryBroadcast.substring(i*8, (i+1)*8), 2));
  86.             if(i != 3) System.out.print(".");
  87.         }
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement