Como inserir os dados para passar nas verificacoes

3 respostas
java
F

Estou fazendo uma calculadora de rede, como eu faco para inserir o ip para as classes tratarem?

package calculadorarede;

public class CalculadoraRede {

public static void main(String[] args) {
    int ipValido[],prefixo;  
    
    
}

int ipValido[],prefixo; 
public boolean VerificaIP(String str) {
    //varaiveis locais
    String[] splitIP;
    
    //separa string por "."
    splitIP = str.split("\\.");

    if (splitIP.length != 4)return false;

    //varre  cada elemento do array gerado no split.
    for (int i = 0; i < splitIP.length; i++) {
        if (splitIP[i].equals("")) return false;
        if (splitIP[i].length() > 3) return false;
        //varre o elemento do array separadamente
        for (int j = 0; j < splitIP[i].length(); j++) {
            //Se algum caracter nao for numero, retorna false
            if (!Character.isDigit(splitIP[i].charAt(j))) return false;
            }
        }
    if(splitIP[0].equals("0"))return false;
    
    //inicializa o vetor de inteiros que recebera os octetos
    ipValido = new int[splitIP.length];
    
    for (int i = 0; i <splitIP.length; i++) {
        if(Integer.parseInt(splitIP[i])<0 || Integer.parseInt(splitIP[i])>255)return false; //verifica o valor dos octetos.
        
        //Salva o valor do octeto no vetor dos inteiros.
        ipValido[i] = Integer.parseInt(splitIP[i]);
    }
    return true;  

}
public boolean VerificaPrefixo(String str) {
    if (str.equals("") || str.length()>2) return false;
    
    //verifica o valor do prefixo
    int temp = Integer.parseInt(str);
    if (temp <1 || temp>32) return false;
    
    prefixo = temp;
    return true;
}
//Verifica a classe do Ip de acordo com o primeiro octeto
public String VerificaClasse(int[] ipValido) {
    int octeto1 = ipValido[0];
    if (octeto1 >0 && octeto1<=127) {
        return "A";
    }else if (octeto1<=191) {
        return "B";
    }else if (octeto1<=223) {
        return "C";
    }else if (octeto1<=239) {
        return "D";
    }else if (octeto1<=255) {
        return "E";
    }
    return "";
}

}

3 Respostas

darlan_machado

Use java.util.Scanner ou JOptionPane.

F

beleza , mas eu vou utilizar o scanner dentro do main ou da classe boolean? quando coloco no main ele nao passa pelo boolean

darlan_machado

Depende como você quer fazer as coisas. Pode ser em um ou outro.

Criado 8 de junho de 2018
Ultima resposta 8 de jun. de 2018
Respostas 3
Participantes 2