Tips&Tricks | I trucchi del mestiere |
![]() |
Confronto tra hostname |
import java.net.*; public class CompareName { public static void main (String args[]) { if (args.length == 2) { try { InetAddress name1 = InetAddress.getByName(args[0]); InetAddress name2 = InetAddress.getByName(args[1]); if (name1.equals(name2)) System.out.println(name1 + " Φ uguale a " + name2); else System.out.println(name1 + " Φ diverso da " + name2); } catch (UnknownHostException ue) { System.out.println("Non riesco a risolvere il nome."); } } } } |
![]() |
Analizziamo un URL |
import java.net.*; public class UrlParts { public static void main (String args[]) { if (args.length == 1) { try { // Costruisce l'URL a partire da una stringa. URL myurl = new URL(args[0]); System.out.println("L'URL e`: " + myurl); // Dividiamo l'URL nei suoi vari pezzi. System.out.println("Le parti che lo formano sono:"); System.out.println("\tProtocollo: " + myurl.getProtocol()); System.out.println("\tHost: " + myurl.getHost()); System.out.println("\tPorta: " + myurl.getPort()); System.out.println("\tFile: " + myurl.getFile()); System.out.println("\tRef: " + myurl.getRef()); } catch (MalformedURLException me) { System.out.println("Non capisco l'URL: " + args[0]); } } } } |
![]() |
Troviamo il server |
import java.net.*; public class LookForUDPPort { public static void main (String args[]) { DatagramSocket theserver; // Proviamo tutte le porte for (int theport = 1024; theport < 65536; theport++) { try { // Proviamo a costruire la socket theserver = new DatagramSocket(theport); // Ricordiamoci di chiudere la Socket theserver.close(); } catch (SocketException se) { // Se fallisce vuol dire che c'e` un server locale sulla // porta assegnata System.out.println("C'e` un server sulla porta " + theport); } } } } |
![]() |
Occorrenza di una sottostringa in una stringa |
public static int indiceDi(String s, String t) { int posizione; // se Φ stata trovata t in s boolean finito; // la scansione di t int i; // per la scansione della stringa s int j; // per la scansione della stringa t posizione = -1; i = 0; while (posizione==-1 && i<=s.length()-t.length()) { /* scandisce i caratteri di t * per verificare che la sottostringa di s * iniziante in posizione i e lunga t.length() * Φ uguale a t */ j = 0; finito = false; while (!finito && j<t.length()) if (s.charAt(i+j) != t.charAt(j)) finito = true; else j++; if (!finito) posizione = i; else i++; } return posizione; } |
![]() |
Occorrenze di un carattere in una stringa |
public static int frequenza(String s, char c) { int f; // frequenza di c in s int i; // per la scansione dei caratteri della stringa f = 0; /* scandisce i caratteri della stringa */ for (i=0; i<s.length(); i++) if (s.charAt(i) == c) f++; return f; } |