Erste Schritte Subnet Calculator - Ausgabe der NetID und der Broadcast

Firebass

Mitglied
Guten morgen zusammen,

momentan bin ich noch dabei mein Java Subnetzberechnungsprogramm zu schreiben und da ich noch ein ziemlicher anfänger bin brauch ich noch etwas hilfe.
Das Programm läuft ansich schon aber die berechnung der NetID und der Broadcast ist mir noch ein kleines rätsel. Wäre Top wen Ihr mal drüber schauen könntet 🙂

Java:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;


public class SUBCALC{
   
   
   public static void main(String[] args) {           
       
       int mask1 = 0;
//START       
       System.out.println();
       System.out.println("Willkommen!");
       System.out.println();
       System.out.println("Sie haben die Vollautomatische DEMO Subnetz Berechnung's Einheit /SUBCALC/ gestartet");
       System.out.println("Bitte geben sie die erste Zahl Ihrer IP-Adresse an");
       System.out.println();
       System.out.println("Beispiel: -> 192 <- .168.10.2");
       System.out.println();
//Eingabe       
       Scanner eingabe = new Scanner(System.in);       //Eingabe1 //Abfrage
       String Wert1 = eingabe.nextLine();
       
           if(Integer.valueOf(Wert1) > 255 &&  Integer.valueOf(Wert1) > 0)
           {
               System.out.println("Deine Eingabe war Fehlerhaft");
           }
               
       
       System.out.println();
       System.out.println("Sie haben " + Wert1 + " eingegeben.");
       System.out.println();
       System.out.println("Bitte geben Sie die zweite Zahl ein");
       System.out.println();
       System.out.println("Beispiel:  192. -> 168 <- .10.2");
       System.out.println();
       
       String Wert2 = eingabe.nextLine();               //Eingabe2
       
           if(Integer.valueOf(Wert2) > 255 &&  Integer.valueOf(Wert1) > 0)
           {
               System.out.println("Deine Eingabe war Fehlerhaft");
           }
               
       
       System.out.println();
       System.out.println("Sie haben " + Wert2 + " eingegeben.");
       System.out.println();
       System.out.println("Bitte geben Sie die dritte Zahl ein");
       System.out.println();
       System.out.println("Beispiel:  192.168. -> 10 <- .2");
       System.out.println();
       
       String Wert3 = eingabe.nextLine();               //Eingabe3
       
           if(Integer.valueOf(Wert3) > 255 &&  Integer.valueOf(Wert1) > 0)
           {
               System.out.println("Deine Eingabe war Fehlerhaft");
           }   
       
       System.out.println();
       System.out.println("Sie haben " + Wert3 + " eingegeben.");
       System.out.println();
       System.out.println("Bitte geben Sie die letzte Zahl ein");
       System.out.println();
       System.out.println("Beispiel:  192.168.10. -> 2 <- ");
       System.out.println();
       
       String Wert4 = eingabe.nextLine();               //Eingabe4
       
           if(Integer.valueOf(Wert4) > 255 &&  Integer.valueOf(Wert1) > 0)
           {
               System.out.println("Deine Eingabe war Fehlerhaft");
           }
               
           
       
       System.out.println();
       System.out.println("Sie haben " + Wert4 + " eingegeben.");
       

       System.out.println();
       System.out.println("Ihre Eingebene IP-Adresse lautet:");
       System.out.println(Wert1 + "." + Wert2 + "." + Wert3 + "." + Wert4);   //Ausgabe
       System.out.println();
       System.out.println("Um Fortzufahren Bitte -Enter- Druecken");           //Enter abfrage
       Scanner E = new Scanner(System.in);
       String Enter = E.nextLine();
       
       
       System.out.println();
       System.out.println("Bitte geben sie jetzt die Mask Bits an ");
       System.out.println();                                                   //Mask Bits
       System.out.println("Beispiel: 192.168.10.2 -> /24 <- im Bereich von 24 bis 30");
       System.out.println();
       
       String maskbits = eingabe.nextLine();
       
           if(Integer.valueOf(maskbits) >= 31 || Integer.valueOf(maskbits) > 24)
           {
               System.out.println("Deine Eingabe war Fehlerhaft");
           }
               
       
       System.out.println();
       System.out.println("Sie haben " + maskbits + " Mask Bits angegeben.");
       System.out.println();
       System.out.println();
       System.out.println("Um Fortzufahren Bitte -Enter- Druecken");           //Enter2 Abfrage
       Scanner N = new Scanner(System.in);
       String Enter2 = N.nextLine();
                               
       

;
       
       System.out.println("Ihre Vollstaendige IP-Adresse lautet " + Wert1 + "." + Wert2 + "." + Wert3 + "." + Wert4 + "/"  + maskbits);
       
       System.out.println("Um die Berechnung durchzufuehren Bitte -Enter- Druecken");           //Enter4 Abfrage
       Scanner P = new Scanner(System.in);
       String Enter4 = P.nextLine();

           
//Rechnung


           
           System.out.println();
           System.out.println();
                                                                                                                           //Binär umwandlung
                                                                                                                       

           String binaryString = String.format("%8s", Integer.toBinaryString(Integer.valueOf(Wert1))).replace(" ", "0");
           System.out.print(binaryString);                                                                                // Auflösung 1
           System.out.print(".");
           String binaryString2 = String.format("%8s", Integer.toBinaryString(Integer.valueOf(Wert2))).replace(" ", "0");
           System.out.print(binaryString2);                                                                                // Auflösung 2
           System.out.print(".");
           String binaryString3 = String.format("%8s", Integer.toBinaryString(Integer.valueOf(Wert3))).replace(" ", "0");
           System.out.print(binaryString3);                                                                                // Auflösung 3
           System.out.print(".");
           String binaryString4 = String.format("%8s", Integer.toBinaryString(Integer.valueOf(Wert4))).replace(" ", "0");
           System.out.print(binaryString4);                                                                                // Auflösung 4

           System.out.println();
           System.out.println();


           
           

           
           
           if (Integer.valueOf(Wert1) <= 127)                                                                               //Klasse oder CIDR
           {
               System.out.println("Du befindest dich Wahrscheinlich in einem Klasse A Netz");
           }
           
           if(Integer.valueOf(Wert1) >= 128 &&  Integer.valueOf(Wert1) <= 191)
           {
               System.out.println("Du befindest dich Wahrscheinlich in einem Klasse B Netz");
           }
           
           if(Integer.valueOf(Wert1) >= 192 &&  Integer.valueOf(Wert1) <= 223)
           {
               System.out.println("Du befindest dich Wahrscheinlich in einem Klasse C Netz");
           }
           
           System.out.println();
           
           int mask = Integer.valueOf(maskbits);                                                                           //Subnetzmaske ausgeben
           int value = 256 - (int)Math.pow(2, 32 - mask);
           System.out.println("Deine Subnetzmaske ist 255.255.255." + value);
           System.out.println();
           System.out.println();
           System.out.println();
           System.out.println("Leider konnte das Programm nicht fertig geschrieben werden");                               // Fehlendes Wissen
           System.out.println("aber ich hoffe das Sie trotzdem einen ersten eindruck erhalten haben");
           System.out.println();
           System.out.println("Vielen Dank und Auf Wiedersehen");
           
           System.out.println();

           System.out.println("--Ende des Programms--");
//Ende           
       }
   }
Vielen Dank! 🙂
 
Java:
 if([URL='http://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+integer']Integer[/URL].valueOf(Wert1) > 255 &&  [URL='http://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+integer']Integer[/URL].valueOf(Wert1) > 0)
was soll hier geprüft werden. Im Moment wenn grösser 255 und grösser 0. Kann nicht sein dass eine Zahl grösser 255
aber nicht grösser 0
 
Java:
if([URL='http://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+integer']Integer[/URL].valueOf(Wert1) > 255 &&  [URL='http://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+integer']Integer[/URL].valueOf(Wert1) > 0)
das hier
 
Wert 1 sollte nicht grosser 255 und nicht kleiner 0 sein?
Dann wahrscheinlich so?
Java:
boolean wertGültig= false;
if(Integer.valueOf(Wert1) >255 || Integer.valueOf(Wert1)<0){
System.out.println("Deine Eingabe war Fehlerhaft");
}else {
wertGültig=true;
}
if(!(Integer.valueOf(Wert2)>255|| Integer.valueOf(Wert2)<0)&&wertGültig){
System.out.println("Bis jetzt ist alles ok");
}else {
System.out.println("Deine Eingabe war Fehlerhaft");
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben