Red de conocimiento del abogados - Preguntas y respuestas sobre conocimientos de patentes - ¡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>

importar java.util.Enumeration;

p>

importar java.util.Hashtable

importar java.util.Iterator; p>importar java.util.List;

importar java. util.Vector;

prueba de clase pública {

//archivo de lectura de E/S

p>

public String getFile(Ruta de cadena) {

StringBuffer contexto = new StringBuffer()

prueba {

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

String temp = br.readLine()

while (temp!=null) {

contexto; .append(temp "\n");

temp = br.readLine();

}

} captura (FileNotFoundException e) {

// TODO Bloque catch generado automáticamente

e.printStackTrace();

} catch (IOException e) {

// TODO Auto -bloque de captura generado

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 el contenido

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

palabras = contexto.split(regex);

for(int i=0; ilt; palabras.longitud; i) {

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

al

l.add(words[i]);

}

return all;

}

//Cuenta todas las palabras y sus Número

public Hashtable contWords(List all) {

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

Hashtable allTable = new Hashtable()

; p>

for(int i=0; ilt; all.size(); i ) {

//Dos variables temporales, una clave y un valor

Temp de cadena = all.get(i).toString();

int count = 0

for(int j=0; jlt; all.size(); j ) {

if(temp.equalsIgnoreCase(all.get(j).toString())) {

cuenta

}

}

allTable.put(temp, count);

}

devuelve toda la tabla

}

/ /Encuentra las cinco palabras con el número más grande

public Hashtable findMax5(Hashtable allTable) {

//Hashtable usado para guardar los resultados

Hashtable result = new Hashtable();

Objeto[] keyToValue = allTable.entrySet().toArray();

Objeto[] valores = allTable.values().

int[] v = new int[5];

for(int i=0; ilt; valores.longitud; i) {

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

int min = findMin(v

if(valuegt;min) {

p>

for(int j=0; jlt; v.length; j) {

if(v[j]==min) {

v[j ] = valor;

descanso

}

}

}

}

//Ordena los elementos en v de mayor a menor

for(int i=0; ilt; v.length; i) {

for(int j= i 1 ; jlt; v.longitud; j ) {

if(v[i]lt; v[j]) {

int temp = v[i]; p>

v[i] = v[j];

v[j] = temporal

}

}

}

for(int i=0; ilt; v.length; i) {

// System.ou

t.println(v[i]);

for(int j=0; jlt; keyToValue.length; 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()gt;=5) break

String key = ktv; .substring(0, ktv.indexOf("="));

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

}

devuelve resultado;

}

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

público int findMin(int[] v) {

for(int i=0; ilt; v.length-1; i) {

if(v[i]lt ; v[i 1]) {

int temp = v[i]

v[i] = v[i 1]; i 1] = temp;

}

}

retorno v[v.length-1]; >

//Imprimir el resultado

public static void printResult(Resultado de tabla hash) {

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

Enumeración e = resultado.keys();

Iterador it = resultado.values().iterator()

mientras (e.hasMoreElements(); ) {

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

}

}

//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(contexto

Hashtable allTable = test.contWords(all )

Resultado de la tabla hash = test.findMax5(allTable);

// System.out.println(resultado);

Test.printResult(resultado);

}

}