Der Text der Aufgabenstellung:
In der Netzwqerktechnik wird das Subnetting dazu benutzt, innerhalb einer Netzklasse weitere Teilnetze zu bilden. Dabei werden IP-Adressen mit einer sogenannten Maske(Subnet-Mask) verknüpft und als Ergebnis erhält man eine Netzadresse. Ist diese Netzadresse bei zwei IP-Adressen gleich, so gehören die beiden IP-Adressen zum gleichen Teilnetz (Subnet).
Beispie:
IP-Adresse1: 192.168.1.23
IP-Adresse2: 192.168.1.34
Subnet-Mask: 255.255.255.0
Die einzelnen Komponenten der IP-Adressen werden nun durch den bitweisen UND-Operator & mit der Subnet-Mask verknüpft.
Das Ergebnis ist dann die Netzadresse.
Ergebniss: 192.168.1.0
Das war die Aufgabenstellung.
//Mein Komenatr:
ich weiss, dass man diese durch & Operatoren einfach lösen kann. Aber ich habe mal rescherchiert und fande ich heraus, dass man diese durch Arrays lösen kann.
Daher habe ich versucht, diese mit Arrays zu lösen und eigentlich fast geschafft.
Ich bin jetzt mit so zusagen einem Problem gestossen.
Wie kann ich ein String Array, die in for-Schleife ist, in eine normale String Array wandeln kann. die normale String arry so meine ich: ["123,200,21,0"]
Die String Array, die als Ergebnis aus der letzten for-Schleife in meinem Code rauskommt, sieht so aus:
Netzadres: 123
Netzadres: 200
Netzadres: 21
Netzadres: 0
Jetzt füge ich mein Code hier mit Kommentare:
So wie kann ich die Ergebnisse dieser (String str=result+""
in einer normalen Array bekommen. Wie ich am Anfang erwähnt habe so sollte es aussehen:
["123,200,21,0"].
Danach sollte die Array und Kommas weggemacht, und statt Kommas nur punkt(.) d.h. am Ende soll ich so ein Ergebnis bekomme:
Netzadresse: 123.200.21.0
Ich habe echt viel versucht, diese zu lösen aber bin ich leider an diesen zwei punkten gehängt.
Ich bin Anfänger
.
Mit Dank im Voraus.
In der Netzwqerktechnik wird das Subnetting dazu benutzt, innerhalb einer Netzklasse weitere Teilnetze zu bilden. Dabei werden IP-Adressen mit einer sogenannten Maske(Subnet-Mask) verknüpft und als Ergebnis erhält man eine Netzadresse. Ist diese Netzadresse bei zwei IP-Adressen gleich, so gehören die beiden IP-Adressen zum gleichen Teilnetz (Subnet).
Beispie:
IP-Adresse1: 192.168.1.23
IP-Adresse2: 192.168.1.34
Subnet-Mask: 255.255.255.0
Die einzelnen Komponenten der IP-Adressen werden nun durch den bitweisen UND-Operator & mit der Subnet-Mask verknüpft.
Das Ergebnis ist dann die Netzadresse.
Ergebniss: 192.168.1.0
Das war die Aufgabenstellung.
//Mein Komenatr:
ich weiss, dass man diese durch & Operatoren einfach lösen kann. Aber ich habe mal rescherchiert und fande ich heraus, dass man diese durch Arrays lösen kann.
Daher habe ich versucht, diese mit Arrays zu lösen und eigentlich fast geschafft.
Ich bin jetzt mit so zusagen einem Problem gestossen.
Wie kann ich ein String Array, die in for-Schleife ist, in eine normale String Array wandeln kann. die normale String arry so meine ich: ["123,200,21,0"]
Die String Array, die als Ergebnis aus der letzten for-Schleife in meinem Code rauskommt, sieht so aus:
Netzadres: 123
Netzadres: 200
Netzadres: 21
Netzadres: 0
Jetzt füge ich mein Code hier mit Kommentare:
Java:
package aufgaben;
import java.util.Scanner;
import java.util.Arrays;
public class test {
public String str; //das wird am Ende verwendet, um die einzelnen Komponenten der String Array, die in der letzten for Schleife in String umzuwandeln
public static void main(String[] args) {
int result ; // nachdem die IPAdresse und die SubnetMask in der letzten for Schleife zussamen mit verknüpft werden, werden die Ergebisse indieser int gespeichert.
String firstIPa ="123.456.789.12"; // die IPAdresse
String subMask ="255.255.255.0"; // SubnetmASK
String[] firstIpSplit=firstIPa.split("\\."); // array zu schaffen
int[] fIpIntgArray= new int[firstIpSplit.length]; //die länge der neuen Array
for(int i=0;i<fIpIntgArray.length;i++) { // die 4 Werte int der ersten Ip trennen, damit später mit den 4 auch getrennten Werte zu verknüpfen
fIpIntgArray[i]= Integer.parseInt(firstIpSplit[i]); // sie werden hier gespeichert
System.out.println("Fip-items: "+fIpIntgArray[i]); // asugegeben
}
String[] subMaskSplit=subMask.split("\\."); // der Zweck ist wie die vorherige for Schleife
int[] sMintArray= new int[subMaskSplit.length];
for(int i=0;i<sMintArray.length;i++) {
sMintArray[i]= Integer.parseInt(subMaskSplit[i]);
System.out.println("Mask-items: "+sMintArray[i]);
}
for(int i=0; i < sMintArray.length; i++) { // hier werde die einzelnen Komponenten der Ip Adress und Sub-Maskt miteinander verknüpft
result=sMintArray[i]&fIpIntgArray[i]; // sie werden in dieser int gespeichert
String str=result+""; // Sie werden in String umgewandelt und dann ausgegeben
System.out.println("Netzadress: " + str);
}
}
}
So wie kann ich die Ergebnisse dieser (String str=result+""
["123,200,21,0"].
Danach sollte die Array und Kommas weggemacht, und statt Kommas nur punkt(.) d.h. am Ende soll ich so ein Ergebnis bekomme:
Netzadresse: 123.200.21.0
Ich habe echt viel versucht, diese zu lösen aber bin ich leider an diesen zwei punkten gehängt.
Ich bin Anfänger
Mit Dank im Voraus.