WordCounter proyecto (basado JavaSE)

1. Proyecto de Github Dirección: https://github.com/Flyingwater101/WordCount

1. Tabla de PSP

PSP2.1

Etapas del Proceso de Software Personal

Estimado de consumo de tiempo (minutos)

Los que consumen mucho tiempo reales (minutos)

Planificación

plan

 20

 20

· Estimación

• Calcular la cantidad de tiempo esta tarea requiere

 24 * 60

 40 * 60

Desarrollo

desarrollar

 10 * 60

 20 * 60

· Análisis

· Análisis de Necesidades (incluyendo el aprendizaje de nuevas tecnologías)

 3 * 60

 10 * 60

· Diseño de especificaciones

Generar documentos de diseño

 30

 30

· Revisión de diseño

· Revisión de Diseño (y sus colegas revisaron los documentos de diseño)

 30

 30

· Codificación Estándar

· Especificaciones de códigos (desarrollo de normas apropiadas para el desarrollo actual)

 10

10 

· Diseño

· Diseño específico

 20

 30

· Codificación

· Codificación específica

 10 * 60

 22 * 60

· Revisión de código

· Revisión Código

 60

 60

· Prueba

· Test (autoprueba, modificar el código, enviar modificaciones)

 40

 60

la presentación de informes

informe

 40

 40

· Informe de prueba

· Informe de prueba

 20

 20

· Medida del tamaño

· Cargas de trabajo informáticas

 20

 20

· Postmortem y Plan de Mejora de Procesos

· La retrospección, y proponer plan de mejora de procesos

 30

 45

total

 

  24 * 60

 45 * 60

 

 

3. Ideas de resolución de problemas

  Este proyecto es principalmente dos aspectos, uno java io, la segunda es una cadena (o el método de cadena de expresión regular) de análisis de entrada. Así que fui a aprender a fortalecer estos dos aspectos, sobre todo para ver el java blog y ver vídeos de instrucción.

 

 

4. proceso de diseño e implementación

   Hay dos clases fueron Main.java y CountSercie.java.

   Para calcular el número de clase de servicio filas 1.CountSercie.java, hay tres métodos se utilizaron para calcular el archivo, el número de caracteres, palabras. (Bloggers completó sólo tres necesidades básicas, las necesidades de desarrollo sin terminar y necesidades avanzadas)

   2.Main.java para los procedimientos de entrada, los métodos de información de archivo de cálculo en la presente convocatoria.

   

5. Código Descripción

Main.java 

pública
estática void main (String [] args) lanza la excepción { System.out.println ( "file.c vuelve -C el número de archivo de caracteres file.c \ n" + "retornos file.c -w el archivo de archivo. c el número de palabras \ n - "+ " el número de filas devueltas -l file.c file.c el archivo \ n-" ); ENTRADA escáner = nuevo nuevo escáner (la System.in); el tiempo ( true ) { System.out.println ( "Por favor, INPUT '[Orden] [nombre de archivo]':" ); Orden String [] = input.nextLine () Dividir ( "" ); countService countService= Nuevo nuevo CountService (); SI (order.length == 2 ) { Archivo = new new File (Orden [1. ]); SI (! File.Exists) () { (System.out.println "archivo no existe, volver a entrar " ); } else sI (file.isDirectory ()) { // directorio de entrada cuando System.out.println (" Por favor, introduzca el archivo dirección correcta " ); } else { sI (Orden [0] .equals ( "-C" )) { System.out.println ( "el número de caracteres del texto es" + countService.countChar (Archivo)); } else SI (Orden [0] .equals ( "- W ' )) { System.out.println ( carácter" Texto número de "+ countService.countWord (archivo)); } else SI (Orden [0] .equals (" - L " )) { System.out.println ( " número de líneas de texto es "+ countService.countLine (archivo) ); } else { el System.out.println ("Introducido de forma incorrecta, por favor, vuelva a introducir" ); } } } else System.out.println ( "Error de entrada, por favor vuelva a entrar" ); } }

CountService.java 

pública a largo countChar (Archivo) { si (! {File.Exists ()) de retorno 1L ; } Devolver file.length (); } Pública a largo countWord (Archivo) lanza la excepción { si (! File.Exists ()) { retorno 1L ; } Larga count = 0L ; FileReader FileReader = nueva FileReader (archivo); // 读文件 BufferedReader BufferedReader = nuevoEl BufferedReader (FileReader); Valor de cadena = BufferedReader.readLine (); al mismo tiempo (valor =! Null ) { valor = value.trim (); // espacios antes y después de la eliminación // MSG + = valor + "\ n-"; String R & lt value.replaceAll = ( "\\.", "" ); r = r.replaceAll ( "[W ^ \\]", ""); // símbolos especiales se eliminan, el espacio se convierte en fácil contar el número de palabras r r.replaceAll = ( "\\ S +", "") .ReplaceAll ( "\" "" " ); R & lt = r.trim (); // eliminación de espacios de cabeza y cola cadena s [] = r.split ( "");// presione la barra espaciadora para correr la voz de división si(S [0] .equals ( "")) { // línea en blanco no cuenta el número de palabras count + = s.length; // recuento de palabras acumulada } valor = BufferedReader.readLine (); // leer la siguiente línea, recirculante } bufferedReader.close (); fileReader.close (); retorno COUNT; } pública a largo countLine (archivo) lanza la excepción { SI (! {File.Exists ()) de retorno 1L ; } largo COUNT = 0L ; FileReader FileReader = nulo; BufferedReader BufferedReader = nulo ; FileReader = nueva FileReader (archivo); BufferedReader = nuevo BufferedReader (FileReader); mientras que (bufferedReader.readLine () =! nula ) { contar ++ ; } FileReader.close (); bufferedReader.close (); volver recuento; }

6. Ejecución de prueba

6.1 archivo vacías           resultados de las pruebas    

 

 

 

6.2 Uno de los personajes Sólo resultados de las pruebas 

 

 

 

 

 

 

 

 

6.3 Sólo uno de palabras resultados de las pruebas

 

 

6.4 Sólo una línea de resultados de la prueba

 

 

 

 

 

 

 

 

 

6,5 normales de código fuente  resultados de la prueba 

 

 

 

7. Resumen del proyecto

  Este proyecto me hace sentir mucho. Esta vez no estoy satisfecho conmigo mismo, muy arrepentido. En primer lugar, la falta de la fecha de recepción de la tarea iniciada en el momento oportuno, se ha retrasado hasta el DDL. Se trata de un programador es un inconveniente muy grave es que necesito para ser totalmente corregida. En segundo lugar, la hora de aprender java antes fallado en tomar notas y tomarse el tiempo de revisión, lo que lleva al conocimiento de lo extraño y olvidado, sólo para volver a aprender un poco de conocimiento previamente aprendido. En tercer lugar, la mentalidad, el propio preso en algunas rutinas de edad, el hecho de no pensar en algunas soluciones innovadoras.

  Para convertirse en un programador, resistencia a la rodadura y largo. Teniendo en cuenta que quieren sentir hoy en día, en el momento de corregir el error, aún más!

 

 

 

 

Supongo que te gusta

Origin www.cnblogs.com/iamwatershui/p/12501570.html
Recomendado
Clasificación