Aiuto urgente programma funzioni indirizzi ip

di il
2 risposte

Aiuto urgente programma funzioni indirizzi ip

Cebollar ha scritto:


Come si legge un IP da tastiera? Aiutatemi prima su questo (1° punto)
Lo devi ricevere come stringa intera. Cioè tu riceverai una stringa es. di 11 caratteri "192.168.0.1"

Poi spetta a te analizzarla e validarla. Qualche indizio utile: spezzi la stringa usando "." come separatore, dovresti ottenere 4 token (se già non è così, sai già che il IP è "malformato"). Di ciascun token fai il parsing con Integer.parseInt(stringa). Ottieni valori numerici che verifichi essere tra 0 e 255.

2 Risposte

  • Re: Aiuto urgente programma funzioni indirizzi ip

    Cebollar ha scritto:


    Siccome non ho molto capito non è che potresti scrivermi il codice cosi capisco meglio?
    La cosa più semplice e veloce per spezzare attorno ai punti è usare split() che usa una "espressione regolare".
    String[] parti = ipInput.split("\\.");
    Poi chiaramente devi verificare tutti i vari casi "negativi" che ci possono essere.
  • Re: Aiuto urgente programma funzioni indirizzi ip

    Cebollar ha scritto:


    tu mi dici di usare cose che noi non abbiamo mai fatto.
    noi facciamo Java solo da settembre e abbiamo fatto finora solamente i vettori e le funzioni.
    Capisco ma di possibilità non ce ne sono tantissime (senza chiaramente usare metodi già fatti in librerie apposite).
    Una possibilità è split di String, un'altra è l'uso di java.util.StringTokenizer (che però ha concetti diversi rispetto allo split e per fare una validazione "stretta" di un indirizzo IP non è il massimo).
    Una ulteriore possibilità molto più terra-terra ma più lunga è l'uso combinato di indexOf e substring di String. In pratica si parte dall'inizio e si cerca con indexOf il primo punto, quindi si estrae il primo token con substring e poi si parte a cercare il secondo punto partendo dal carattere dopo il primo punto e così via.

    Dovresti precisare quali metodi puoi/sai usare e cosa eventualmente ti è stato imposto di non usare.

    Cebollar ha scritto:


    la codifica del primo punto in modo tale che io capisco te ne sarei grato.
    Il primo punto, cioè la richiesta e l'input di una stringa è semplice: basta usare java.util.Scanner
    import java.util.Scanner;
    
    ....
    
    Scanner scanner = new Scanner(System.in);
    System.out.print("Inserisci un IP: ");
    String stringaInput = scanner.nextLine();
    Poi però appunto la stringaInput va analizzata e validata estraendo poi i valori numerici in uno dei vari modi citati.
Devi accedere o registrarti per scrivere nel forum
2 risposte