tag:blogger.com,1999:blog-3756682660522124367.post5310222970485054094..comments2024-03-19T14:37:11.297+01:00Comments on Programación Java: Clases EnvolventesEnriquehttp://www.blogger.com/profile/11751517540864497825noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-3756682660522124367.post-90047480552176051782018-11-23T15:54:36.347+01:002018-11-23T15:54:36.347+01:00Eso es incorrecto ya que el programa lee un texto,...Eso es incorrecto ya que el programa lee un texto, si es como tu dices y se ingresa por ejemplo: "Hola Mundo2." , el contador de cifras mostraria 3, ya que la condicion isDigit() no esta, entonces el contador aparte del numero tomaria al espacio y al signo de puntuacion.NexSVhttps://www.blogger.com/profile/02573192138250116398noreply@blogger.comtag:blogger.com,1999:blog-3756682660522124367.post-84073612736451150732016-06-24T20:43:55.818+02:002016-06-24T20:43:55.818+02:00muy buena explicación, e incluso se puede omitir l...muy buena explicación, e incluso se puede omitir la segunda validación que se hace en el ciclo else if... ya que el método isDigit es verdadero solo si es un digito, de otra forma regresa falso. Entonces puede quedar el código también de esta forma:<br /><br />public static void main(String[] args) {<br /> Scanner sc = new Scanner(System.in);<br /> String texto;<br /> int cuentaCifras = 0, cuentaLetras = 0;<br /> System.out.println("Introduce texto ");<br /> texto = sc.nextLine();<br /> for (int i = 0; i < texto.length(); i++) {<br /> if (Character.isDigit(texto.charAt(i))) {<br /> cuentaCifras++;<br /> } else {<br /> cuentaLetras++;<br /> }<br /> }<br /> System.out.println("El texto contiene " + cuentaCifras + " dígitos");<br /> System.out.println("El texto contiene " + cuentaLetras + " letras");<br />}<br />}<br /><br />Y genera el mismo resultado. <br />De igual forma se puede hacer lo mismo usando el método isLetter. En ambos casos estamos dando por hecho que si no es uno es el otro y se agrega un valor al contador. <br /><br />Saludos!Anonymousnoreply@blogger.com