Java - Ejercicio de Java

 
Vista:

Ejercicio de Java

Publicado por martinez (4 intervenciones) el 11/05/2020 01:10:27
Tenmim emmagatzemades, en una estructura diccionari, les adreces ip fixes assignades als ordinadors de les diferents aules i departaments de l'institut. L'estructura de cada element del diccionari és:

1
2
3
4
5
ubicacio = {'I206': ['172.16.0.1', '172.16.0.2', '172.16.0.3'],
        'I210': ['172.16.1.4', '172.16.1.8', '172.16.1.5'],
        'Dept1': ['172.16.0.8'],
        'ARGO': ['172.16.0.100', '172.16.0.7', '172.16.0.16', '172.16.0.200']
}

Escriure un programa que :

-demani una adreça ip i cridi a un mòdul que escrigui per pantalla la ubicació de l’ordinador al que correspon l’adreça donada.

-demani una ubicació i cridi a un mòdul que visualitzi totes les ip's que es troben a l'ubicació donada.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ejercicio de Java

Publicado por Billy Joel (875 intervenciones) el 11/05/2020 01:57:44
Parece una estructura json. ¿es así?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ejercicio de Java

Publicado por Billy Joel (875 intervenciones) el 11/05/2020 02:44:42
Pues si, lo he comprobado, es json
Para trabajar con JSON en Java hay distintas librerías, yo prefiero la que puedes conseguir en www.json.org
json_org

O te puedes ir directo al repositorio y descargarlo
Lo pones en tu proyecto como un paquete org.json y listo.

El enunciado lo resuelvo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import java.util.Scanner;
import org.json.JSONObject;
 
/**
 *
 * @author billy.johnson
 */
public class Ubicaciones {
 
    public static JSONObject getJson() {
        String ubicacion = "{'I206': ['172.16.0.1', '172.16.0.2', '172.16.0.3'],\n"
                + "'I210': ['172.16.1.4', '172.16.1.8', '172.16.1.5'],\n"
                + "'Dept1': ['172.16.0.8'],\n"
                + "'ARGO': ['172.16.0.100', '172.16.0.7', '172.16.0.16', '172.16.0.200']\n"
                + "}";
 
        JSONObject o = new JSONObject(ubicacion);
        return o;
    }
 
    public static String getUbicacion(String ip) {
        JSONObject o = getJson();
        for (String key : o.keySet()) {
            for (Object a : o.getJSONArray(key)) {
                if (a.toString().equals(ip)) {
                    return key;
                }
            }
        }
        return null;
    }
 
    public static String getIps(String ubicacion) {
        JSONObject o = getJson();
        if (o.has(ubicacion)) {
            String ips = "";
            for (Object a : o.getJSONArray(ubicacion)) {
                ips += ips.isEmpty() ? a.toString() : "\n" + a.toString();
            }
            return ips;
        } else {
            return null;
        }
    }
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
//        ////////////TEST JSON//////////////
//        JSONObject o = getJson();
//        System.out.println("o: " + o);
//        ///////////////////////////////////
        Scanner sc = new Scanner(System.in);
        System.out.print("Introduzca una dirección ip; ");
        String ip = sc.nextLine();
        String ubicacion = getUbicacion(ip);
        if (ubicacion == null) {
            System.out.println("La ubicación no fue encontrada para el ip " + ip);
        } else {
            System.out.println("La ubicación es: " + ubicacion);
        }
 
        System.out.print("Introduzca una ubicación; ");
        String ubicacion2 = sc.nextLine();
        String ips = getIps(ubicacion2);
        if (ips == null) {
            System.out.println("No se encontraron ips en la ubicacion " + ubicacion2);
        } else {
            System.out.println("Los ips encontrados son: \n" + ips);
        }
    }
}

Igualmente acá te dejo el proyecto listo.

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar