Boucle en java
Résolu
Utilisateur anonyme
-
younes1719 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
younes1719 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
j'ai deux plages d'adresses IP j'arrive pas a parcourir toutes le adresses possibles entre les deux plages .les 4 segment de l'adresse de depart et darrivée sont dans des variables de type int.
est ce que quelcun pourrait m'aider a faire cette boucle.Merci
est ce que quelcun pourrait m'aider a faire cette boucle.Merci
A voir également:
- Boucle en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
11 réponses
Tout d'abord bonjour!
Peux tu expliquer ton problème plus clairement?
Je n'ai pas bien compris... Un exemple aiderait beaucoup!
As tu déjà du code d'écrit? Pourrais tu le mettre pour qu'on le corrige?
Peux tu expliquer ton problème plus clairement?
Je n'ai pas bien compris... Un exemple aiderait beaucoup!
As tu déjà du code d'écrit? Pourrais tu le mettre pour qu'on le corrige?
bon , j'ai deux zonnes ou on peut saisir deux adresses IP:
exemple:192.168.0.1 -----> 193.55.20.11
je vais extraire toutes les adresses IP de cette plage d'adresse.Comme j'ai deja dit j'ai en tout 8 variables de type int:
x1=192
x2=168
x3=0
x4=1
x5=193
x6=55
x7=20
x8=11
Comment les avoirs ces adresses ?,
pour comprendre le code je fais un system.out.println ( ) de chaque adresse.
Merci encore
exemple:192.168.0.1 -----> 193.55.20.11
je vais extraire toutes les adresses IP de cette plage d'adresse.Comme j'ai deja dit j'ai en tout 8 variables de type int:
x1=192
x2=168
x3=0
x4=1
x5=193
x6=55
x7=20
x8=11
Comment les avoirs ces adresses ?,
pour comprendre le code je fais un system.out.println ( ) de chaque adresse.
Merci encore
Il faut faire 4 boucles qui parcourent chaque plage d'entier jusqu'à 255 et afficher les adresses au fur et à mesure...
As tu déjà commencé ton algorithme??
As tu déjà commencé ton algorithme??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voia ce que j'ai fait jusqu'a maintenant ; ca traite les deux dernier champs seulement , c pas complet :
if(x1==x5 && x2==x6 && x3==x7 && x4==x8)
{
System.out.println(""+x1+"."+x2+"."+x3+"."+x4);
}
else
if(x1==x5 && x2==x6 && x3==x7)
{
for(int i4=x4;i4<=x8;i4++)
{
System.out.println(""+x1+"."+x2+"."+x3+"."+i4);
}
}
else
if(x1==x5 && x2==x6)
{
if(x7==(x3+1))
{
for(int i4=x4;i4<=254;i4++)
{
System.out.println(""+x1+"."+x2+"."+x3+"."+i4);
}
for(int i3=1;i3<=x8;i3++)
{
System.out.println(""+x1+"."+x2+"."+x7+"."+i3);
}
}
else
{
for(int i4=x4;i4<=254;i4++)
{
System.out.println(""+x1+"."+x2+"."+x3+"."+i4);
}
////////////////
for(int i4=x3+1;i4<x7;i4++)
{
for(int i5=1;i5<=254;i5++)
{
System.out.println(""+x1+"."+x2+"."+i4+"."+i5);
}
}
////////////////
for(int i3=1;i3<=x8;i3++)
{
System.out.println(""+x1+"."+x2+"."+x7+"."+i3);
}
}
}
else
if(x1==x5)
{
}
if(x1==x5 && x2==x6 && x3==x7 && x4==x8)
{
System.out.println(""+x1+"."+x2+"."+x3+"."+x4);
}
else
if(x1==x5 && x2==x6 && x3==x7)
{
for(int i4=x4;i4<=x8;i4++)
{
System.out.println(""+x1+"."+x2+"."+x3+"."+i4);
}
}
else
if(x1==x5 && x2==x6)
{
if(x7==(x3+1))
{
for(int i4=x4;i4<=254;i4++)
{
System.out.println(""+x1+"."+x2+"."+x3+"."+i4);
}
for(int i3=1;i3<=x8;i3++)
{
System.out.println(""+x1+"."+x2+"."+x7+"."+i3);
}
}
else
{
for(int i4=x4;i4<=254;i4++)
{
System.out.println(""+x1+"."+x2+"."+x3+"."+i4);
}
////////////////
for(int i4=x3+1;i4<x7;i4++)
{
for(int i5=1;i5<=254;i5++)
{
System.out.println(""+x1+"."+x2+"."+i4+"."+i5);
}
}
////////////////
for(int i3=1;i3<=x8;i3++)
{
System.out.println(""+x1+"."+x2+"."+x7+"."+i3);
}
}
}
else
if(x1==x5)
{
}
Personnellement, pour cette partie:
je ferais ça:
if(x1==x5 && x2==x6) { if(x7==(x3+1)) { for(int i4=x4;i4<=254;i4++) { System.out.println(""+x1+"."+x2+"."+x3+"."+i4); } for(int i3=1;i3<=x8;i3++) { System.out.println(""+x1+"."+x2+"."+x7+"."+i3); } } else { for(int i4=x4;i4<=254;i4++) { System.out.println(""+x1+"."+x2+"."+x3+"."+i4); } //////////////// for(int i4=x3+1;i4<x7;i4++) { for(int i5=1;i5<=254;i5++) { System.out.println(""+x1+"."+x2+"."+i4+"."+i5); } } //////////////// for(int i3=1;i3<=x8;i3++) { System.out.println(""+x1+"."+x2+"."+x7+"."+i3); } } }
je ferais ça:
if(x1==x5 && x2==x6) { int inter = x4; for(int i3=x3;i3<=x8;i3++){ for(int i4=inter;i4<=254;i4++){ if(i3 == x7 && i4 == x8){ break; } System.out.println(""+x1+"."+x2+"."+i3+"."+i4); } inter = 0; } }
vous avez mis cette condition
(x1==x5 && x2==x6)
donc vous n'avez pas traité tous les cas .Ca je l'ai deja fait.Mon cide marchait deja .
Mais si on veut tester sur toutes les variables .Comment faire?
Encore Merci.
(x1==x5 && x2==x6)
donc vous n'avez pas traité tous les cas .Ca je l'ai deja fait.Mon cide marchait deja .
Mais si on veut tester sur toutes les variables .Comment faire?
Encore Merci.
En fait, je remplaçais juste une partie de ton code...
J'ai pas tout remis exprès, pour que ça reste lisible!
ma façon de faire pour ce cas là devrait t'aider à faire la suite...
J'ai pas tout remis exprès, pour que ça reste lisible!
ma façon de faire pour ce cas là devrait t'aider à faire la suite...
A tu deja entendu parler des masques de sous réseau ??? un truc du genre 255.255.255.0 ???
toi tu veut parcourir une ip avec un masque type 0.0.0.0 soir presque la quasi totalité des ip existantes dans le monde ! tu sera confronté a un problème de temps et d'exécution, et en plus je peut garantir le non fonctionnement de ce script malgré un acharnement total parce que le masque de sous réseau le plus bas reste 255.0.0.0 pour les réseaux locaux classiques, il faut forcément qu'un pc puisse broacaster sur une ip, et si il n'existe pas de masque de sous réseau, les pc perdent la boule, c'est ton cas pour passer d'une ip a une autre, je m'explique, si deja tu veut que tes postes communiquent : il faut au moins configurer tes pc comme suit :
PC 1 => 192.168.0.1 - 0.0.0.0
PC 2 => 193.50.20.11 - 0.0.0.0
ceci cause une incompatibilité du au masque de sous réseau de 0.0.0.0
voici donc une configuration minimale :
PC 1 => 192.168.0.1 - 255.0.0.0
PC 2 => 192.50.20.11 - 255.0.0.0
dans ce cas, les postes pourront se pinger et communiquer entre eux.
"uniquement dans le cas d'un réseau de type LAN, le MAN et WAN, c'est encore différent"
(perso de mon coté je ne vois pas pourquoi tu utilise des ip ainsi. un simple masque de sous réseau en 255.255.0.0 aurait suffit... a moins que tu ai plus que 65000 et quelques postes sur ton réseau car 255*255 = 255² possibilités de pC en réseau ^^)
toi tu veut parcourir une ip avec un masque type 0.0.0.0 soir presque la quasi totalité des ip existantes dans le monde ! tu sera confronté a un problème de temps et d'exécution, et en plus je peut garantir le non fonctionnement de ce script malgré un acharnement total parce que le masque de sous réseau le plus bas reste 255.0.0.0 pour les réseaux locaux classiques, il faut forcément qu'un pc puisse broacaster sur une ip, et si il n'existe pas de masque de sous réseau, les pc perdent la boule, c'est ton cas pour passer d'une ip a une autre, je m'explique, si deja tu veut que tes postes communiquent : il faut au moins configurer tes pc comme suit :
PC 1 => 192.168.0.1 - 0.0.0.0
PC 2 => 193.50.20.11 - 0.0.0.0
ceci cause une incompatibilité du au masque de sous réseau de 0.0.0.0
voici donc une configuration minimale :
PC 1 => 192.168.0.1 - 255.0.0.0
PC 2 => 192.50.20.11 - 255.0.0.0
dans ce cas, les postes pourront se pinger et communiquer entre eux.
"uniquement dans le cas d'un réseau de type LAN, le MAN et WAN, c'est encore différent"
(perso de mon coté je ne vois pas pourquoi tu utilise des ip ainsi. un simple masque de sous réseau en 255.255.0.0 aurait suffit... a moins que tu ai plus que 65000 et quelques postes sur ton réseau car 255*255 = 255² possibilités de pC en réseau ^^)