Boa NOite
EU tenho que fornecer um endereço IP e o programa converter para binário e automaticamente retirar para fora o endereço em binário, a classe a que pretence a rede e o host;
para já tenho o seguinte código que me converte para binário;
[size=“9”][/size]
/*
- ip.java
*/
/**
- */
public class convbin {
Public static void main (String args[]){
if (args.length < 2) {
System.out.println("Insira o IP e a Mascara, na linha de comando");
}
}
/**
* @param args Argumentos da linha de comandos
*/
public static String paraBin (String ip)
{
// TODO Codigo logico da aplicação
String dev = " ",
ipDec = " ",
ipBin = " "; //Armazena em decimal e a conversão para binário
int i = 0 ; //Corre o endereço e controla
//Corre o endereço e converte para o binário
while (i < ip.length())
{
while ((i < ip.length()) && (ip.charAt(i) != '.' )) //armazena numero por numero em ipDec
{
ipDec += ip.charAt(i);
++i;
}
++i;
ipBin = basedecimal(ipDec, 2); //converte IP para binário
while (ipBin.length() < 8) {
String ip2 = "";
ip2 = ipBin;
ipBin = '0' + ip2;
}
dev += ipBin; //concatena o Octecto que está em 'dev' e gera o numero
ipBin = "";
ipDec = "";
} //fecha o ciclo While
return dev;
}
protected static String basedecimal (String numero, int base) {
//numero - numero a ser convertido
//base - base assumida pelo numero
long n =Long.parseLong(num);
String dev= “”;
while (n>=base){
if (n%base<9)
dev = (n%base)+dev;
else
dev=Character.forDigit((byte)(n%base),base) + dev ;
n /=base;
}
if (n <9)
dev = n + dev;
else
dev=Character.forDigit((byte)(n&base), base)+ dev;
return dev; }
//final basedecimal
}
:lol:
eu queria introduzir o seguinte raciocinio;
se primeiro octecto doendereço IP estiver entre 0 e 127 pretence à classe A
se estiver entre 128 e 191 pretence à classe B
se estiver entre 192 e 223 pretence à classe C… e assim por diante…
…
ME AJUDA, por favor
[size=“12”][/size]