Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Urgente! Utilice el lenguaje JAVA para implementar experimentos de estructura de datos.

¡Urgente! Utilice el lenguaje JAVA para implementar experimentos de estructura de datos.

Te envié lo que pasé la mayor parte del día escribiendo para ti. No escribí los comentarios con cuidado. Si no entiendes nada o si tienes algún pequeño error, déjame un mensaje. .

importar java.io.BufferedReader

importar java.io.FileInputStream

importar java.io.FileNotFoundException

importar; java.io.IOException;

importar java.io.InputStreamReader

importar java.util.ArrayList

importar java.util.Enumeration; p>

p>

importar java.util.Hashtable

importar java.util.Iterator

importar java.util.List

<; p>importar java. util.Vector;

prueba de clase pública {

//archivo de lectura de E/S

cadena pública getFile (ruta de cadena) {

StringBuffer contexto = new StringBuffer();

prueba {

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(ruta))

String temp = br.readLine();

mientras (temp!=null) {

context.append(temp+"\n");

temp = br.readLine();

}

} catch (FileNotFoundException e) {

// TODO Bloque de captura generado automáticamente

e.printStackTrace();

} catch (IOException e) {

// TODO Bloque catch generado automáticamente

e.printStackTrace ();

}

return context.toString().toLowerCase();

}

//Método de contenido dividido

Lista pública mySplit(String context) {

String[] palabras = {}

Listar todo = new ArrayList(); >//Presione Puntuación, expresión regular para dividir contenido

String regex = "\\W";//[():,./'\"\n\r\f\\s-]

palabras = contexto.split(regex);

for(int i=0; i

if(!palabras [i ].equals(""))//Eliminar espacios

all.add(words[i]);

}

return all; /p>

all.add(words[i]);

devolver todo

p>

}

//Cuenta todo; palabras y su número

public Hashtable c

ontWords(List all) {

//Se utiliza para guardar todas las palabras y su número

Hashtable allTable = new Hashtable(); 0; i

//Dos variables temporales, una clave y un valor

String temp = all.get(i) .toString( );

int recuento = 0;

for(int j=0; j

if (temp. igual aIgnoreCase(all.get(j).toString())) {

count++

}

}

allTable.put (temp, count);

}

return allTable;

}

//Encuentra el número más grande de esas cinco palabras

public Hashtable findMax5(Hashtable allTable) {

//Hashtable utilizado para guardar el resultado

Resultado de Hashtable = new Hashtable(); Objeto[] keyToValue = allTable.entrySet().toArray();

Objeto[] valores = allTable.values().toArray()

int[] v; = nuevo int[5];

for(int i=0; i

int valor = Integer.parseInt(values[ i].toString ());

int min = findMin(v);

if(valor>min) {

for(int j=0 ; j

if(v[j]==min) {

v[j] = valor

romper ; >

}

}

}

}

//Reducir el valor de v Clasificarlo en pedidos pequeños

for(int i=0; i

for(int j=i+1; j

if(v[i]

int temp = v[i]

v[i] = v [j]; p>

v[j] = temp;

}

}

}

para (int i=0; i

// System.out.println(v[i]);

for(int j=0; j

String ktv = keyToValue[j].toString();

int tv = Integer.parseInt(ktv.substring(ktv.indexOf( "=")+1 ));

if(v[i]==tv) {

//Garantiza tomar solo las cinco palabras más frecuentes

if(result.size()>=5) break; /p>

Clave de cadena = ktv.substring(0, ktv.indexOf("="));

resultado.put(clave, v[i]); >}

}

}

resultado de retorno;

}

//Búsqueda simple en matriz número más pequeño

public int findMin(int[] v) {

for(int i=0; i

si(v[i]

int temp = v[i]

v[i] = v[i+1 ];

v[i+1] = temp

}

}

return v[v.length-1] ; /p>

}

//Imprimir el resultado

public static void printResult(resultado de tabla hash) {

System.out.println( "El Las cinco palabras principales son las siguientes:");

Enumeración e = result.keys();

Iterador it = result.values().iterator();

p>

while (e.hasMoreElements()) {

System.out.println(e.nextElement() + " El número de " es: " + it.next()

System.out.println(e.nextElement() + " p>

}

}

//método principal

public static void main(String[] args) {

Prueba prueba = new Test();

Contexto de cadena = test.getFile("c:/test3. txt");

Listar todo = test.mySplit(context);

Hashtable allTable = test.contWords(all);

Resultado de Hashtable = prueba. findMax5(allTable);

// System.out.println(resultado)

Test.printResult(resultado); p>}