Red de conocimiento informático - Conocimiento informático - Ayúdame a hacer una pregunta de JAVA

Ayúdame a hacer una pregunta de JAVA

¡¡Primero déjame mostrarte los resultados del siguiente programa!! Palabra: academic Número de ocurrencias: 1 Longitud de palabra: 8

Palabra: y Número de ocurrencias: 1 Longitud de palabra: 3

Palabra: aplica Número de ocurrencias: 1 Longitud de palabra: 7

Palabra: correctamente Número de ocurrencias: 1 Longitud de palabra: 9

Palabra: número de excepción de ocurrencias: 1 palabra Longitud: 9

Palabra: frecuencia Número de ocurrencias: 1 Longitud de palabra: 9

Palabra: capta Número de ocurrencias: 1 Longitud de palabra: 6

Palabra: manejo de ocurrencias Número de veces: 1 Longitud de palabra: 8

Palabra: mecanismo Número de ocurrencias: 1 Longitud de palabra: 9

Palabra: sociedad Número de ocurrencias: 1 Longitud de la palabra: 7 El siguiente es el código del programa: 1 ***Hay 3 clases, a saber: Word.java (capa modelo) FileService.java (capa empresarial) Test.java (capa de vista) /**** ******************* ********************************** ******************* *****************************/paquete question3.model;import java.io.Serializable;/**

* Clase de entidad Word

* @author admin

*

*/

clase pública Word implementa Serializable, Comparable{

valor de cadena privada;//guarda el valor de una sola palabra

entero privado frecuencia;//frecuencia de aparición de palabras

private Longitud entera;//palabra La longitud de

/**

* Ordenar palabras en orden alfabético, frecuencia de aparición y longitud de la palabra

*/

@Override

public int compareTo(Word word) {

//Compara el orden de letras primero

if(this.value.hashCode()!=word .getValue().hashCode()){

//Distingue entre mayúsculas y minúsculas

devolver this.value.trim().compareTo(word.getValue().trim()) ;

// //No distingue entre mayúsculas y minúsculas

// devolver this.value .trim().compareToIgnoreCase(word.getValue().trim());

}

//Compara la frecuencia de aparición

if(this .frequency!=word.getFrequency()){

return this.frequency -word.getFrequency();

}

//Comparar longitud

if(this.length!=word.getLength()){

return this.length-word.getLength();

}

devuelve 0;

}

public String getValue() {

valor de retorno;

}

public void setValue(valor de cadena) {

this.value = valor;

}

entero público getFrequency() {

frecuencia de retorno;

}

public void setFrequency(Frecuencia entera) {

this.frequency = frecuencia;

}

public Integer getLength() {

p>

longitud de retorno;

}

public void setLength(longitud entera) {

this.length = longitud;

}

}

/*************************** ***** ********************************************** ****** *******************************/ paquete question3.service;import java.io.BufferedInputStream;

importar java.io.File;

importar java.io.FileInputStream;

importar java.io.FileNotFoundException;

importar java.io.FileOutputStream;

importar java.io.IOException;

importar java.io.ObjectOutputStream;

importar java.util.Collection;

p>

importar java.util.TreeSet;importar question3.model.Word;public class FileService { /**

* Leer archivo

* @param filePath

* @return

*/

cadena estática pública readFile(String filePath){

Archivo archivo=null;

byte[] contenido = nulo;

Longitud entera=null;

BufferedInputStream bis=null;

archivo=nuevo archivo(filePath);

intente {

bis=new BufferedInputStream(new FileInputStream(archivo));

length=bis.available();

content=new byte[longitud];

bis.read(contenido, 0, longitud);

} catch (FileNo

tFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}finalmente{

if(bis!=null)try{bis.close();}catch(Exception e1){}

}

return new String(content);

}

/**

* Lee las palabras de la cadena basándose en espacios y guárdalas en la colección

* @param content

* @return

*/

colección pública handleString(String content){

Colección wordCol=new TreeSet();

String[] strArray=content.split(" ");

for(String s: strArray) {

if(s!=null && s.trim().length()>0){

Palabra salidaPalabra=isWordExisted(palabraCol, contenido);

//No existe

if(exitedWord==null){

Palabra palabra=nueva Palabra();

palabra.setFrequency(1 ) ;

word.setLength(s.trim().length());

word.setValue(s.trim());

wordCol . add(word);

}else{//Existence

exitedWord.setFrequency(exitedWord.getFrequency()+1);

wordCol.add( exitedWord );

}

}

}

devolver palabraCol;

}

/**

* Determinar si la palabra existe en la colección

* @param wordCol

* @param wordValue

* @return

*/

palabra privada isWordExisted(Collection wordCol,String wordValue){

for(Word word:wordCol){

if(word.getValue().trim().equals(wordValue.trim())){

devolver palabra;

}

}

return null;

}

/**

* Ver las palabras de la colección

*@pa

ram wordColl

*/

public void show(Collection wordCol){

for(Word word:wordCol){

System.out.println("Palabra: "+word.getValue()+"\tNúmero de apariciones: "+word.getFrequency()+"\tLongitud de palabra:"+word.getLength());

}

}

/**

* Guardar las palabras de la colección en el archivo

* @param wordCol

* @param filePath

*/

public void storeWords(Collection wordCol,String filePath){

Contenido de cadena =escapeValue(wordCol);

ObjectOutputStream oos=null;

prueba {

oos=new ObjectOutputStream(new FileOutputStream(new File(filePath)));

oos.write(content.getBytes());

oos.flush();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}finalmente{

if(oos!=null)

prueba{oos.close();}catch(Exception e){}

}

}< / p>

/**

* Deletrea las palabras de la colección en una cadena

* @param wordCol

* @return

*/

cadena privada escapeValue(Collection wordCol){

StringBuffer buffer=new StringBuffer();

for(Palabra palabra: wordCol){

if(word!=null && word.getValue()!=null && word.getValue().trim().length()>0){

buffer.append(" "+word.getValue());

}

}

return buffer.toString();

}

}

/***************************** ** ************************************************* * ****************************/ paquete pregunta3.c

lient;importar java.util.Collection;importar question3.model.Word;

importar question3.service.FileService;public class Test {

public static void main(String[] args ){

FileService fs=new FileService();

String content=fs.readFile("input.txt");//Leer palabras del archivo

Colección wordCol=fs.handleString(content);

fs.show(wordCol);

fs.storeWords(wordCol, "db.txt") ;/ /Guardar la palabra en el archivo

}

}