elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda con codigo de java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con codigo de java  (Leído 3,902 veces)
pakosamuel

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda con codigo de java
« en: 5 Junio 2010, 03:32 am »

Pues lo que quiero hacer es mediante uso de excepciones y flujos que me cuente las letras de un archivo al que se le debe mandar llamar y que me manda una excepcion si es que falta alguna letra del abecedario..
el codigo que tengo es este:
Código
  1. import java.io.*;
  2. import javax.swing.*;
  3. public class ex2 {
  4.    public static void main(String[] args)   {
  5. String s;
  6. int lineas=1;
  7. try {
  8.  
  9.    String nomarch=JOptionPane.showInputDialog("Ruta y nombre archivo:");
  10. FileInputStream archivo=new FileInputStream(nomarch);
  11. String b=leer.readLine();
  12. while (b!=null){
  13.  
  14. System.out.println(b);
  15. b=leer.readLine();
  16.  
  17. String salida="";
  18. int abc[]=new int[26];
  19. for (int i=0;i<nomarch.length();i++)
  20. { int codcar=nomarch.charAt(i);
  21. if ((codcar>=96)&&(codcar<=123))
  22. { int pos=codcar-97;
  23. abc[pos]++;
  24. }
  25. }
  26. for (int i=0;i<abc.length;i++)
  27.  if (abc[i]>0) { char car=(char) (i+97);
  28.   salida+="Letra "+car+" aparece "+abc[i]+"\n";
  29.   }  
  30. if (b==null) JOptionPane.showMessageDialog(null,salida);
  31. }
  32. }
  33.  
  34.        catch (IOException exc) {
  35.    System.err.println(exc);
  36.    System.out.println("Asegurate de haber escrito la extension y ruta del archivo");  
  37. }
  38.  
  39. finally {
  40. System.out.println("\n");    
  41. }  
  42.   }
  43. }


« Última modificación: 30 Julio 2010, 05:06 am por LEYER » En línea

Blitzkrieg'


Desconectado Desconectado

Mensajes: 546


print('Hi there')


Ver Perfil WWW
Re: Ayuda con codigo de java
« Respuesta #1 en: 5 Junio 2010, 04:08 am »

Usa las etiquetas code.


En línea



pakosamuel

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda con codigo de java
« Respuesta #2 en: 5 Junio 2010, 04:19 am »

Mira ya cambie completamente el codigo

   import java.io.*;
   import javax.swing.*;
   class LeeFichero {
   public static void main(String [] arg) {
   
      try {
            String nomarch=JOptionPane.showInputDialog("Ruta y nombre archivo:");
            FileInputStream archivo=new FileInputStream(nomarch);
            InputStreamReader isr=new InputStreamReader(archivo);
            BufferedReader leer=new BufferedReader (isr);
            String linea;
            
            while((linea=leer.readLine())!=null) {
               System.out.println(linea);
               System.out.println(linea.length());
               }
            
            isr.close();
         }
            
      catch(IOException e){
         System.out.println(e);
            }
      
      }
   
   }

Ahora el problema es que me dice cuantas letras tiene cada linea, y lo que yo quiero es que me diga cuantas letras tiene todo el texto y que no se vaya linea por linea, en que estoy mal
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Ayuda con codigo de java
« Respuesta #3 en: 5 Junio 2010, 04:47 am »

Seria asi
        
Código
  1. int c =0;
  2.         while((linea=leer.readLine())!=null) {
  3.           char chars[]=linea.toCharArray();
  4.           for(int index=0;index<chars.length;index++){
  5.           if(Character.isLetter(chars[index])){
  6.           c++;
  7.           }
  8.  
  9.           }
  10.            }
  11.         System.out.println("Archivo:"+nomarch);
  12.         System.out.println("Nro. de Letras: "+c);
       
« Última modificación: 5 Junio 2010, 04:48 am por LEYER » En línea

pakosamuel

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda con codigo de java
« Respuesta #4 en: 5 Junio 2010, 05:21 am »

Muchas gracias eso me sirvio de mucho, pero, como puedo pedirle que me diga si estan todas las letras minusculas osea de todo el abecedario y si falta una que me mande una excepcion ??
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Ayuda con codigo de java
« Respuesta #5 en: 5 Junio 2010, 21:35 pm »

te refieres a algo asi

Código
  1. import java.io.BufferedReader;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.util.ArrayList;
  6. import java.util.Iterator;
  7. import java.util.SortedSet;
  8. import java.util.TreeSet;
  9. import javax.swing.JOptionPane;
  10. public class LeeFichero {
  11. public static void main(String [] arg) {
  12.   try {
  13.         String nomarch=JOptionPane.showInputDialog("Ruta y nombre archivo:");
  14.         FileInputStream archivo=new FileInputStream  (nomarch);
  15.         InputStreamReader isr  =new InputStreamReader(archivo);
  16.         BufferedReader leer    =new BufferedReader   (isr);
  17.         String linea;
  18.         int c =0;
  19.         ArrayList<Character> arrayList = new ArrayList<Character>();
  20.         while((linea=leer.readLine())!=null) {
  21.         char chars[]=linea.toCharArray();
  22.           for(int index=0;index<chars.length;index++){
  23.           if(Character.isLetter(chars[index])){
  24.           arrayList.add(chars[index]);
  25.           c++;
  26.           }          
  27.           }
  28.         }
  29.         isr.close();
  30.         leer.close();
  31.       SortedSet<Character> characters = new TreeSet<Character>();
  32.       Iterator<Character> interator = arrayList.iterator();
  33.       while(interator.hasNext()){
  34.       characters.add(interator.next());
  35.       }
  36.         System.out.println("Archivo: "+nomarch);
  37.         System.out.println("Nro. de Letras: "+c);
  38.       if(characters.size()<26){
  39.       throw new Exception("Error...Faltan letras del abecedario");
  40.       }else
  41.       System.out.println("Abecedario completo.");
  42.      }
  43.   catch(IOException e){
  44.      System.out.println(e);
  45.         } catch (Exception e) {
  46.      e.printStackTrace();
  47.         }
  48.     }
  49. }

PD: mi logica puede que no la entiendas,es la forma mas simple que se me ocurrio

Saluidos.
« Última modificación: 5 Junio 2010, 22:06 pm por LEYER » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Actualizado] Ayuda código Java
Java
framled 9 4,928 Último mensaje 16 Octubre 2011, 14:10 pm
por Valkyr
Ayuda con código Java!
Java
compunova 2 2,771 Último mensaje 18 Octubre 2011, 23:43 pm
por klaine
Ayuda con un codigo de java?
Java
omar199609 2 2,184 Último mensaje 7 Junio 2015, 17:08 pm
por Usuario Invitado
Ayuda con código Java
Java
alvarodecadiz9 1 1,916 Último mensaje 10 Septiembre 2016, 12:48 pm
por alvarodecadiz9
ayuda para realizar un codigo en java
Java
yibran_moon 1 1,922 Último mensaje 27 Enero 2017, 10:35 am
por Orubatosu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines