Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class ip {
- public static void main(String[] args) {
- int i = 0;
- Scanner in = new Scanner(System.in);
- System.out.println("Please enter an IPv4 address in dot-decimal notation:");
- String ip = in.nextLine();
- String[] octetArray = ip.split("\\.");
- StringBuilder binaryIP = new StringBuilder();
- if(octetArray.length != 4) {
- System.out.println("Invalid IPv4!");
- return;
- }
- System.out.println("Please enter a mask length:");
- int mask = Integer.parseInt(in.nextLine());
- if(mask < 1 || mask > 31) {
- System.out.println("Invalid mask length!");
- return;
- }
- System.out.println("The IPv4 address in binary notation:");
- for (String string : octetArray) {
- int octet = Integer.parseInt(string);
- if(octet < 0 || octet > 255) {
- System.out.println("Invalid IPv4!");
- break;
- }
- StringBuilder binaryOctet = new StringBuilder(Integer.toBinaryString(octet));
- while (binaryOctet.length() < 8)
- binaryOctet.insert(0, "0");
- binaryIP.append(binaryOctet.toString());
- if(++i < 4) System.out.print(binaryOctet + ".");
- else System.out.print(binaryOctet);
- }
- System.out.print("\n\nAddresses in binary / dot-decimal notation:");
- StringBuilder binaryMask = new StringBuilder();
- StringBuilder binaryNetwork = new StringBuilder();
- StringBuilder binaryBroadcast = new StringBuilder();
- System.out.print("\nMask: ");
- for(i = 0; i < 32; i++) {
- if (i < mask) {
- binaryMask.append(1);
- System.out.print(1);
- } else {
- binaryMask.append(0);
- System.out.print(0);
- }
- if (i % 8 == 7 && i != 31) System.out.print(".");
- }
- System.out.print(" / ");
- for(i = 0; i < 4; i++) {
- System.out.print(Integer.parseInt(binaryMask.substring(i*8, (i+1)*8), 2));
- if(i != 3) System.out.print(".");
- }
- System.out.print("\nNetwork: ");
- for(i = 0; i < 32; i++) {
- if(binaryMask.toString().charAt(i) == '1' && binaryIP.toString().charAt(i) == '1') {
- binaryNetwork.append(1);
- System.out.print(1);
- } else {
- binaryNetwork.append(0);
- System.out.print(0);
- }
- if (i % 8 == 7 && i != 31) System.out.print(".");
- }
- System.out.print(" / ");
- for(i = 0; i < 4; i++) {
- System.out.print(Integer.parseInt(binaryNetwork.substring(i*8, (i+1)*8), 2));
- if(i != 3) System.out.print(".");
- }
- System.out.print("\nBroadcast: ");
- for(i = 0; i < 32; i++) {
- if (i < mask) {
- binaryBroadcast.append(binaryNetwork.toString().charAt(i));
- System.out.print(binaryNetwork.toString().charAt(i));
- } else {
- binaryBroadcast.append(1);
- System.out.print(1);
- }
- if (i % 8 == 7 && i != 31) System.out.print(".");
- }
- System.out.print(" / ");
- for(i = 0; i < 4; i++){
- System.out.print(Integer.parseInt(binaryBroadcast.substring(i*8, (i+1)*8), 2));
- if(i != 3) System.out.print(".");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement