Preguntas y respuestas: déjame contarte sobre ti -- java campo con beginner camp codereview Relacionados El problema

Questions & Responses: Let me tell you about you


14
vote

problema

Español

Por favor revise este código.

  import java.util.Scanner; import java.util.* ; public class LMComplex { Scanner name  = new Scanner(System.in); Scanner age  = new Scanner(System.in); Scanner gender  = new Scanner(System.in); Scanner height  = new Scanner(System.in); String usrname; String usrage; String usrgender; Double usrheight; public void main(){ System.out.println("Enter your name: "); usrname = name.nextLine(); System.out.println("Enter your age(Numbers): "); usrage = age.nextLine(); System.out.println("Enter your gender(male/female): "); usrgender = gender.nextLine(); System.out.println("Enter your height(feet.inches . 5 feet 5 inches = 5.5): "); usrheight = height.nextDouble(); Double rusrheight = Math.ceil(usrheight); if(rusrheight > usrheight) { rusrheight = rusrheight - 1; } else  {  } Double rusrheightininches = usrheight - rusrheight; if(rusrheightininches >= 0.10 && rusrheightininches < 0.12) { rusrheightininches = rusrheightininches * 100; } else { rusrheightininches = rusrheightininches * 10; } Double rusrheightinincheschecker = rusrheightininches; rusrheightininches = Math.ceil(rusrheightininches); if(rusrheightininches > rusrheightinincheschecker) { rusrheightininches = rusrheightininches - 1; } else  {  } System.out.println("Hii " + usrname + ". I am Cartic, a basic textual virtual personal assistant. I do know that you are " + usrage +" years old. You are a " + usrgender + " and are " + rusrheight + " feet " + rusrheightininches + " inch(es) tall"); } }   
Original en ingles

Please review this code.

import java.util.Scanner; import java.util.* ; public class LMComplex { Scanner name  = new Scanner(System.in); Scanner age  = new Scanner(System.in); Scanner gender  = new Scanner(System.in); Scanner height  = new Scanner(System.in); String usrname; String usrage; String usrgender; Double usrheight; public void main(){ System.out.println("Enter your name: "); usrname = name.nextLine(); System.out.println("Enter your age(Numbers): "); usrage = age.nextLine(); System.out.println("Enter your gender(male/female): "); usrgender = gender.nextLine(); System.out.println("Enter your height(feet.inches . 5 feet 5 inches = 5.5): "); usrheight = height.nextDouble(); Double rusrheight = Math.ceil(usrheight); if(rusrheight > usrheight) { rusrheight = rusrheight - 1; } else  {  } Double rusrheightininches = usrheight - rusrheight; if(rusrheightininches >= 0.10 && rusrheightininches < 0.12) { rusrheightininches = rusrheightininches * 100; } else { rusrheightininches = rusrheightininches * 10; } Double rusrheightinincheschecker = rusrheightininches; rusrheightininches = Math.ceil(rusrheightininches); if(rusrheightininches > rusrheightinincheschecker) { rusrheightininches = rusrheightininches - 1; } else  {  } System.out.println("Hii " + usrname + ". I am Cartic, a basic textual virtual personal assistant. I do know that you are " + usrage +" years old. You are a " + usrgender + " and are " + rusrheight + " feet " + rusrheightininches + " inch(es) tall"); } } 
     
   
   

Lista de respuestas

16
 
vote

La indentación es la primera parte de la práctica común que debe considerar al compartir su código con cualquiera. Aquí está su código, que he puesto a través de la función de sangría 'estándar' de Eclipse:

  import java.util.Scanner;  public class LMComplex {     Scanner name = new Scanner(System.in);     Scanner age = new Scanner(System.in);     Scanner gender = new Scanner(System.in);     Scanner height = new Scanner(System.in);     String usrname;     String usrage;     String usrgender;     Double usrheight;      public void main() {         System.out.println("Enter your name: ");         usrname = name.nextLine();         System.out.println("Enter your age(Numbers): ");         usrage = age.nextLine();         System.out.println("Enter your gender(male/female): ");         usrgender = gender.nextLine();         System.out.println("Enter your height(feet.inches . 5 feet 5 inches = 5.5): ");         usrheight = height.nextDouble();         Double rusrheight = Math.ceil(usrheight);         if (rusrheight > usrheight)         {             rusrheight = rusrheight - 1;         }         else         {          }         Double rusrheightininches = usrheight - rusrheight;         if (rusrheightininches >= 0.10 && rusrheightininches < 0.12)         {             rusrheightininches = rusrheightininches * 100;         } else {             rusrheightininches = rusrheightininches * 10;         }         Double rusrheightinincheschecker = rusrheightininches;         rusrheightininches = Math.ceil(rusrheightininches);         if (rusrheightininches > rusrheightinincheschecker)         {             rusrheightininches = rusrheightininches - 1;         }         else         {          }         System.out.println("Hii " + usrname + ". I am Cartic, a basic textual virtual personal assistant. I do know that you are " + usrage                 + " years old. You are a " + usrgender + " and are " + rusrheight + " feet " + rusrheightininches + " inch(es) tall");     } }   

Ahora, es mucho más fácil ver la estructura.

Directrices de estilo de código JAVA Coloque el { Apertura en la misma línea que la Declaración de control, por lo que, por ejemplo, el código:

          if (rusrheightininches >= 0.10 && rusrheightininches < 0.12)         {             rusrheightininches = rusrheightininches * 100;         } else {             rusrheightininches = rusrheightininches * 10;         }   

debe ser:

          cmp     word [eax], NULL_TERMINATOR ; Compare whether or not this block is completely null (e.g. 0)         jz      _RollbackFinalBlock ; if it is, jump to _RollbackFinalBlock         ; if not...         add eax, BYTE_COUNT ; Add to EAX the block size 0  

Además, en la extracción de 998877665554433111/esarte, usted tiene un bloque vacío más .... Puede simplemente eliminarlo:

          cmp     word [eax], NULL_TERMINATOR ; Compare whether or not this block is completely null (e.g. 0)         jz      _RollbackFinalBlock ; if it is, jump to _RollbackFinalBlock         ; if not...         add eax, BYTE_COUNT ; Add to EAX the block size 2  

se convierte en:

          cmp     word [eax], NULL_TERMINATOR ; Compare whether or not this block is completely null (e.g. 0)         jz      _RollbackFinalBlock ; if it is, jump to _RollbackFinalBlock         ; if not...         add eax, BYTE_COUNT ; Add to EAX the block size 3  

En cuanto a sus variables, son nombres descriptivos agradables, pero, en Java, es común usar lo que se llama 'camelcase', donde la primera letra es minúscula, y las posteriores se pueden capitalizar las letras de primera palabra. .

también, si bien a menudo es conveniente acortar partes largas de variables, la abreviatura del 'usuario' a 'usr' no lo está ahorrando mucho .....

Entonces, por ejemplo, sus variables:

          cmp     word [eax], NULL_TERMINATOR ; Compare whether or not this block is completely null (e.g. 0)         jz      _RollbackFinalBlock ; if it is, jump to _RollbackFinalBlock         ; if not...         add eax, BYTE_COUNT ; Add to EAX the block size 4  

sería

          cmp     word [eax], NULL_TERMINATOR ; Compare whether or not this block is completely null (e.g. 0)         jz      _RollbackFinalBlock ; if it is, jump to _RollbackFinalBlock         ; if not...         add eax, BYTE_COUNT ; Add to EAX the block size 5  

Le recomendaría que use un IDE (Eclipse / Intellij / NetBeans) para ayudarlo a obtener estas cosas bien. Hay algún debate sobre si los nuevos programadores deben usar un IDE o no, ya que hacen que algunas cosas sean realmente fáciles y usted puede perderse entender algunos de los requisitos básicos del idioma ... pero creo que el IDE le permite enfocarte En las cosas que es más importante, como el contenido del código.

 

Indenting is the first part of common practice that you should consider when sharing your code with anyone. Here is your code, which I have put though the 'standard' indenting function of Eclipse:

import java.util.Scanner;  public class LMComplex {     Scanner name = new Scanner(System.in);     Scanner age = new Scanner(System.in);     Scanner gender = new Scanner(System.in);     Scanner height = new Scanner(System.in);     String usrname;     String usrage;     String usrgender;     Double usrheight;      public void main() {         System.out.println("Enter your name: ");         usrname = name.nextLine();         System.out.println("Enter your age(Numbers): ");         usrage = age.nextLine();         System.out.println("Enter your gender(male/female): ");         usrgender = gender.nextLine();         System.out.println("Enter your height(feet.inches . 5 feet 5 inches = 5.5): ");         usrheight = height.nextDouble();         Double rusrheight = Math.ceil(usrheight);         if (rusrheight > usrheight)         {             rusrheight = rusrheight - 1;         }         else         {          }         Double rusrheightininches = usrheight - rusrheight;         if (rusrheightininches >= 0.10 && rusrheightininches < 0.12)         {             rusrheightininches = rusrheightininches * 100;         } else {             rusrheightininches = rusrheightininches * 10;         }         Double rusrheightinincheschecker = rusrheightininches;         rusrheightininches = Math.ceil(rusrheightininches);         if (rusrheightininches > rusrheightinincheschecker)         {             rusrheightininches = rusrheightininches - 1;         }         else         {          }         System.out.println("Hii " + usrname + ". I am Cartic, a basic textual virtual personal assistant. I do know that you are " + usrage                 + " years old. You are a " + usrgender + " and are " + rusrheight + " feet " + rusrheightininches + " inch(es) tall");     } } 

Now, it is much easier to see the structure.

Java code-style guidelines put the { opening brace on the same line as the control statement, so, for example, the code:

        if (rusrheightininches >= 0.10 && rusrheightininches < 0.12)         {             rusrheightininches = rusrheightininches * 100;         } else {             rusrheightininches = rusrheightininches * 10;         } 

should be:

        if (rusrheightininches >= 0.10 && rusrheightininches < 0.12) {             rusrheightininches = rusrheightininches * 100;         } else {             rusrheightininches = rusrheightininches * 10;         } 

Also, in the previous if statement you have an empty else block.... you can just remove it:

        if (rusrheight > usrheight)         {             rusrheight = rusrheight - 1;         }         else         {          } 

becomes:

        if (rusrheight > usrheight) {             rusrheight = rusrheight - 1;         } 

As for your variables, they are nice descriptive names, but, in Java, it is common to use what is called 'camelCase', where the first letter is lower-case, and the subsequent first-word-letters are Capitalized.

Also, while it is often convenient to shorten long parts of variables, the abbreviation of 'user' to 'usr' is not saving you much.....

So, for example, your variables :

String usrname; String usrage; String usrgender; Double usrheight; 

would be

String userName; String userAge; String userGender; Double userHeight; 

I would recommend that you use an IDE (Eclipse/IntelliJ/Netbeans) to help you get these things right. There is some debate about whether new programmers should use an IDE or not, because they make some things really easy and you may miss understanding some of the basic requirements of the language.... but, I believe that the IDE's allow you to focus on the stuff that is more important, like the code content.

 
 
     
     
11
 
vote
  Scanner name  = new Scanner(System.in); Scanner age  = new Scanner(System.in); Scanner gender  = new Scanner(System.in); Scanner height  = new Scanner(System.in);   

No hay absolutamente ninguna razón para tener cuatro variables de escáner. No importa cuál use, sería mejor tener uno: Scanner scanner = new Scanner(System.in);

Además, debe cerrar el Scanner Una vez que haya terminado con él llamando scanner.close(); (o use la declaración de recursos)


  Double usrheight;   

No necesita usar Double , use double en su lugar. La diferencia es que double es un tipo primitivo , lo que significa que, entre otras cosas, no se puede configurar en null .


  else  {  }   

No hay ninguna razón para incluir un Scanner scanner = new Scanner(System.in);0 Si no hace nada en él. Eliminar esa parte.


Un nombre de variable, como Scanner scanner = new Scanner(System.in);1 es más fácil de leer usando "camelcase", lo nombraría Scanner scanner = new Scanner(System.in);2

En lugar de usar Scanner scanner = new Scanner(System.in);3 puede hacer Scanner scanner = new Scanner(System.in);4 es solo una forma más corta de escribirlo.


de alcance variable . Sus variables son actualmente declaradas como campos en la clase. Solo deben ser accesibles dentro de un método, por lo que puede declararlos dentro de ese método como variables locales .


Tómalo más

Java es un idioma orientado a objetos. Escribe tus propias clases, use objetos, agregue más métodos. Todo no necesita hacerse dentro de un método. Le sugiero que lea el tutorial de Oracle en http://docs.oracle.com/javase/tutorial/java/javaoo/ . Puede usar una clase 99887766655443315 con el nombre de las propiedades, edad, altura de género.

 
Scanner name  = new Scanner(System.in); Scanner age  = new Scanner(System.in); Scanner gender  = new Scanner(System.in); Scanner height  = new Scanner(System.in); 

There is absolutely no reason to have four scanner variables. It does not matter which one you use, it would be better to just have one: Scanner scanner = new Scanner(System.in);

Also, you should close the Scanner once your done with it by calling scanner.close(); (or use try-with-resources statement)


Double usrheight; 

You don't need to use Double, use double instead. The difference is that double is a primitive type, which means that among other things it cannot be set to null.


else  {  } 

There's no reason in including an else if you don't do anything in it. Remove that part.


A variable name such as rusrheightininches is easier to read by using "camelCase", I would name it realUserHeightInches

Instead of using rusrheightininches = rusrheightininches * 100; you can do rusrheightininches *= 100; which is just a shorter way of writing it.


Variable Scope. Your variables are currently declared as fields in the class. They only need to be accessible inside one method, so you can declare them within that method as local variables.


Taking it further

Java is an Object Oriented language. Write your own classes, use objects, add more methods. Everything does not need to be done inside one method. I suggest you read Oracle's tutorial at http://docs.oracle.com/javase/tutorial/java/javaOO/ . You could use a Person class for example with the properties name, age, gender height.

 
 
11
 
vote

Este código no funciona.

Cuando intenta ejecutar su programa, Java se quejará porque no puede encontrar el método 998877666655443316 . ¿No hay un método 99887766655443317 allí mismo? Sí, pero tiene la firma incorrecta . Java busca un Scanner scanner = new Scanner(System.in);8 - Tanto el Scanner scanner = new Scanner(System.in);9 y el 99887766555443320 son importantes.

La forma más sencilla de agregar que es

  Scanner1  

El siguiente gran problema es que está creando múltiples Scanner2 s alrededor del mismo flujo de entrada Scanner3 . Debido al amortiguamiento, las líneas se perderán. En su lugar, cree solo uno Scanner4 y solicite múltiples Scanner5 s de él:

  Scanner6  

Una vez que estos problemas se fijan, el programa empezará a funcionar correctamente, y hay muchos problemas de estilo para mejorar (consulte la respuesta de ROLFL para un buen resumen).

Otro error: el Scanner7 MÉTODO DE UN Scanner8 es dependiente de la configuración regional. Cuando ingrese Scanner9 como la altura, obtendré una excepción porque el separador decimal en mi localidad alemana es la coma - 998877766555443330 funciona perfectamente. Para evitar esto, necesitamos establecer una localidad que funcione independientemente de la configuración regional del sistema:

  scanner.close();1  
 

This code does not work.

When you try to run your program, Java will complain because it can't find the main method. Isn't there a main method right there? Yes, but it has the wrong signature. Java looks for a public static void main (String[] argv) xe2x80x93 both the static and the String[] argument are important.

The simplest way to add that is

public static void main(String[] argv) {     new LMComplex().main(); } 

The next big problem is that you are creating multiple Scanners around the same input stream System.in. Due to buffering, lines will get lost. Instead, create only one Scanner, and request multiple nextLines from it:

Scanner in = new Scanner(System.in); System.out.println("Enter your name: "); usrname = in.nextLine(); System.out.println("Enter your age(Numbers): "); usrage = in.nextLine(); ... 

Once these issues are fixed, the program will actually start to work correctly, and there are many style issues to improve (see rolfl's answer for a good summary).

Another bug: The nextDouble method of a Scanner is locale dependent. When I enter 5.5 as the height, I will get an exception because the decimal separator in my German locale is the comma xe2x80x93 5,5 works perfectly. To avoid this, we need to set a locale that works independently of the system locale:

Scanner in = new Scanner(System.in); in.useLocale(new Locale("en", "US")); 
 
 
       
       
7
 
vote

Naming:

Debe usar los nombres legibles para sus variables. Además, la Convención para Java-Naming es scanner.close();2 . Sus nombres de campo deben comenzar con una letra minúscula y cada nueva "palabra" dentro de estos nombres, debe comenzar con una una sola letra mayúscula.

LEABLE AQUÍ significa, no debería tener que hacer un poco de ejercicio de tounge loco al leer nombres de variables en voz alta. scanner.close();33 y Similares no es bueno, no hay necesidad de guardar caracteres en el lugar equivocado:

  scanner.close();4  
 

Naming:

You should use readable names for your variables. Furthermore the convention for Java-naming is camelCase. Your fieldnames should start with a lower-case letter and each new "word" inside of these names, should start with a single upper-case letter.

readable here means, you shouldn't have to do some crazy tounge-exercise when reading variable names out loud. usr and similar is not good, there is no need to save characters in the wrong place:

usrname --> userName usrage  --> userAge //repeat with all other variables 
 
 
5
 
vote

ya se ha dicho que, pero agregaré que puede contratar estas declaraciones

  scanner.close();5  

a

  scanner.close();6  

Repasaré la importancia de las convenciones de nombres: esto es ilegible

  scanner.close();7  

Pero esto no es:

  scanner.close();8  
 

Most has been said already but I'll add that you can contract these statements

rusrheightininches = rusrheightininches * 100;  rusrheightininches = rusrheightininches - 1; 

to

rusrheightininches *= 100; rusrheightininches -= 1; 

I'll restate the importance of naming conventions: this is unreadable

rusrheightinincheschecker  

but this isn't:

rUserHeightInInchesChecker 
 
 
5
 
vote

La rutina de entrada de altura está rota, ya que ha usado un número de punto flotante para representar dos números que simplemente se separan por un punto. La falla fundamental es que 5 pies. 1 en. Es indistinguible de 5 pies 10 pulg.

  System.out.println("Enter your height(feet.inches . 5 feet 5 inches = 5.5): "); usrheight = height.nextDouble(); Double rusrheight = Math.ceil(usrheight); if(rusrheight > usrheight) { rusrheight = rusrheight - 1; } else  {  } Double rusrheightininches = usrheight - rusrheight; if(rusrheightininches >= 0.10 && rusrheightininches < 0.12) { rusrheightininches = rusrheightininches * 100; } else { rusrheightininches = rusrheightininches * 10; } Double rusrheightinincheschecker = rusrheightininches; rusrheightininches = Math.ceil(rusrheightininches); if(rusrheightininches > rusrheightinincheschecker) { rusrheightininches = rusrheightininches - 1; } else  {  }   

Hay muchos momentos desconcertantes mientras leí ese código.

  • ¿Por qué hay cláusulas 99887766555443331 ? Solo déjalos fuera.
  • ¿Por qué declaras rusrheight , rusrheightininches3 , y rusrheightinincheschecker4 como Double Objetos? Eso causará mucho agobio innecesario y unboxing.
  • ¿Qué significa ? ¿No es solo Math.floor(usrheight) ?
  • ¿Cuál es el punto de rusrheightinincheschecker ? Simplemente ayuda a calcular Math.floor(rusrheightininches) de la manera difícil.
Sin embargo,

a finales, esas preocupaciones son irrelevantes ya que la estrategia de análisis es fundamentalmente defectuosa. Realmente debes escribir una rutina de análisis personalizada. Por ejemplo:

  else0  

Es más fácil devolver un solo número que representa el número de pulgadas en lugar de un par de números que representan pies y pulgadas.

que se combinaría con una rutina de formato:

  else1  
 

Your height input routine is broken, because you have used a floating-point number to represent two numbers that just happen to be separated by a dot. The fundamental flaw is that 5xc2xa0ft. 1xc2xa0in. is indistinguishable from 5xc2xa0ft. 10xc2xa0in.

System.out.println("Enter your height(feet.inches . 5 feet 5 inches = 5.5): "); usrheight = height.nextDouble(); Double rusrheight = Math.ceil(usrheight); if(rusrheight > usrheight) { rusrheight = rusrheight - 1; } else  {  } Double rusrheightininches = usrheight - rusrheight; if(rusrheightininches >= 0.10 && rusrheightininches < 0.12) { rusrheightininches = rusrheightininches * 100; } else { rusrheightininches = rusrheightininches * 10; } Double rusrheightinincheschecker = rusrheightininches; rusrheightininches = Math.ceil(rusrheightininches); if(rusrheightininches > rusrheightinincheschecker) { rusrheightininches = rusrheightininches - 1; } else  {  } 

There are a lot of puzzling moments as I read through that code.

  • Why are there empty else clauses? Just leave them out.
  • Why do you declare rusrheight, rusrheightininches, and rusrheightinincheschecker as Double objects? That will cause much unnecessary autoboxing and unboxing.
  • What does rusrheight mean? Isn't it just Math.floor(usrheight)?
  • What is the point of rusrheightinincheschecker? It just helps to compute Math.floor(rusrheightininches) the hard way.

In the end, though, those concerns are irrelevant since the parsing strategy is fundamentally flawed. You really ought to write a custom parsing routine. For example:

/**  * Reads a height in feet and inches, in the format fff.ii.  * The input must be at the end of a line.  *  * @return The height as inches (i.e., "4.3" is interpreted as 4 * 12 + 3 = 51).  */ public static double readHeightAsInches(Scanner scan)         throws InputMismatchException {     scan.next(Pattern.compile("([+-]?\\d+)(?:\\.(\\d*\\.?\\d*))?$"));     MatchResult match = scan.match();     int feet = Integer.parseInt(match.group(1));     double inches = (match.group(2) != null && !match.group(2).isEmpty()) ?         Double.parseDouble(match.group(2)) : 0.0;     return 12 * feet + (feet >= 0 ? inches : -inches); } 

It's easier to return a single number representing the number of inches rather than a pair of numbers representing feet and inches.

That would be paired with a formatting routine:

public static String formatHeight(double inches) {     StringBuffer sb = new StringBuffer(20);     if (inches < 0) {         sb.append('-');         inches = -inches;     }     if (inches >= 24) {         sb.append((int)inches / 12).append(" feet ");     } else if (inches >= 12) {         sb.append((int)inches / 12).append(" foot ");     }     sb.append(inches %= 12);     sb.append(inches >= 1 && inches < 2 ? " inch" : " inches");     return sb.toString(); } 
 
 
   
   

Relacionados problema

2  Devuelve verdadero si los elementos de una matriz no contienen uno u otro  ( Return true if the elements of an array do not contain one or the other ) 
Estoy completando gradualmente los ejercicios de codificación para Java. Aquí está el uno acabo de hacer: Dada una matriz de INTS, devuelva verdadera si ...

1  Actualización de una página web de DRUPAL con contenido basado en texto ingresado  ( Updating a drupal web page with content based on inputted text ) 
La intención es actualizar una página web de drupal existente con contenido basado en texto ingresado en un cuadro de texto. La página existente muestra dat...

6  Palindrome más largo en una matriz  ( Longest palindrome in an array ) 
Soy nuevo en la programación, y creo que este código podría mejorarse. ¿Alguna sugerencia? 'done'0 ...

1  Script por lotes para descargar y extraer nodos.js y paquetes NPM  ( Batch script to download and extract node js and npm packages ) 
El siguiente es mi primer intento real de Scripting por lotes, y lo soy nuevo, así que no estoy seguro de si lo que he hecho es practicar mejor. El código fun...

3  Aplanar para obtener todos los controles infantiles de cierto tipo en una UIView  ( Flatten to get all child controls of certain type in a uiview ) 
extension Array { func flatten<TResult>(transform: (T) -> TResult?, childArray: (T) -> [T]) -> [TResult] { var result = [TResult]() for ...

5  Colector de archivos M3U  ( M3u file collector ) 
Soy nuevo en Python y escribió este código para recopilar todos los archivos en un archivo M3U (Lista de reproducción) y copiándolos en un directorio. impo...

12  Autenticación simple en ASP.NET MVC 5  ( Simple authentication in asp net mvc 5 ) 
Estoy construyendo una aplicación ASP.NET MVC 5 y, por razones que son irrelevantes en este punto, estoy intentando construir mi propio medio para autenticar ...

2  Formulario básico de comentarios de PHP  ( Basic php comment form ) 
Soy un novato de programación. He escrito este simple script PHP para ejecutar un formulario de comentarios muy básico y apreciaría cualquier comentario, espe...

2  Pequeño bot de Twitter hecho en Python  ( Small twitter bot made in python ) 
Acabo de empezar a jugar con Python y he decidido crear un pequeño script que publique Tweets cada hora (Cronjob en Ubuntu) diciendo qué hora es. ¿No estoy ...

1  ¿Cómo hacer que esta clase de lector de TLV se vea mejor y funciona más suave?  ( How to make this tlv reader class look nicer and work smoother ) 
Soy bastante nuevo para Java y estaba tratando de mejorar un poco mis habilidades haciendo un lector de archivos binarios. El elegido fue el tlv formato. He...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos