Foro de elhacker.net

Programación => Java => Mensaje iniciado por: andaluz en 13 Abril 2010, 21:55 pm



Título: palabras
Publicado por: andaluz en 13 Abril 2010, 21:55 pm
me gustaria saber como puedo hacer esa condicion if(condicion) de la manera que: si algun caracter de la palabra es distinto de letra, la palabra no es valida.

Código
  1. package posible_palabra_forma_rapida;
  2. import java.io.*;
  3.  
  4. public class Main
  5. {
  6.  
  7.    public static void main(String[] args)
  8.    {
  9.        InputStreamReader isr;
  10.        BufferedReader br;
  11.        String linea;
  12.  
  13.        String palabra[];
  14.        int i,tam;
  15.  
  16.        isr=new InputStreamReader(System.in);
  17.        br=new BufferedReader(isr);
  18.  
  19.        try
  20.        {
  21.            System.out.println("Introduce la palabra: ");
  22.            linea=br.readLine();
  23.            tam=Integer.parseInt(linea);
  24.            palabra=new String[tam];
  25.  
  26.            for(i=0;i<palabra.length;i++)
  27.            {
  28.                if()
  29.                {
  30.                    System.out.println("La palabra no es valida");
  31.                }
  32.                else
  33.                {
  34.                    System.out.println("La palabra es valida");
  35.                }
  36.            }
  37.        }
  38.        catch(Exception ex)
  39.        {
  40.            System.out.println("Errores en la lectura: "+ex);
  41.        }
  42.    }
  43. }
  44.  


Título: Re: palabras
Publicado por: Perikles en 14 Abril 2010, 00:15 am
En el api de java esta la clase pattern,creo que es lo que te puede ayudar.

http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html

Un saludo.


Título: Re: palabras
Publicado por: Leyer en 14 Abril 2010, 00:18 am
En el api de java esta la clase pattern,creo que es lo que te puede ayudar.

http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html

Un saludo.

No creo que se refiera ha eso.

seguramente lo que quieres hacer es lo siguiente, aunke no entiendo por que haces estas haciendo esto

Código
  1.  
  2.            linea=br.readLine();
  3.            tam=Integer.parseInt(linea);
  4.            palabra=new String[tam]


Código
  1. try
  2.        {
  3.            char palabra[];
  4.            System.out.println("Introduce la palabra: ");
  5.            linea=br.readLine();
  6.            palabra=linea.toCharArray();
  7.  
  8.            for(i=0;i<palabra.length;i++)
  9.            {
  10.  
  11.                if(palabra[i]!='Q')
  12.                {
  13.                    System.out.println("La palabra no es valida");
  14.                }
  15.                else
  16.                {
  17.                    System.out.println("La palabra es valida");
  18.                }
  19.            }
  20.        }
  21.        catch(Exception ex)
  22.        {
  23.            System.out.println("Errores en la lectura: "+ex);
  24.        }

Un Saludo.


Título: Re: palabras
Publicado por: Perikles en 14 Abril 2010, 00:57 am
y porque palabra!='Q'????No llego a entender.

EL dice "si algun caracter de la palabra es distinto de letra".

Si pasar la palabra que lee del teclado a un array de char y luego comprobar que cada posición no es letra, es optimo apaga y vamonos.





Título: Re: palabras
Publicado por: Leyer en 14 Abril 2010, 01:12 am
lol jaja  por eso dije seguramente  :xD no la deduje bien


Título: Re: palabras
Publicado por: Perikles en 14 Abril 2010, 01:26 am
Yo creo que con esto te seria suficiente.

Pattern p = Pattern.compile("[a-zA-Z]*");
Matcher m = p.matcher("ho1la");
boolean b = m.matches();

Esto devuelve false

y esto true

Pattern p = Pattern.compile("[a-zA-Z]*");
Matcher m = p.matcher("hola");
boolean b = m.matches();

Saludos.


Título: Re: palabras
Publicado por: andaluz en 14 Abril 2010, 10:24 am
a lo que me refiero con es que la condicion diga si la posicion de la letra es distinta a letra (utilizando isletter) no es valida la palabra y nose como poner esa condicion, ya que no me deja elegir el meodo isLetter.


Título: Re: palabras
Publicado por: Leyer en 14 Abril 2010, 11:21 am
No sera asi?

Código
  1. for(i=0;i<linea.length();i++)
  2.            {
  3.            if(!Character.isLetter(linea.charAt(i))){
  4.  
  5.                    System.out.println("");
  6.                }
  7. }