palabras

Iniciado por andaluz, 13 Abril 2010, 21:55 PM

0 Miembros y 1 Visitante están viendo este tema.

andaluz

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 (java) [Seleccionar]

package posible_palabra_forma_rapida;
import java.io.*;

public class Main
{

   public static void main(String[] args)
   {
       InputStreamReader isr;
       BufferedReader br;
       String linea;

       String palabra[];
       int i,tam;

       isr=new InputStreamReader(System.in);
       br=new BufferedReader(isr);

       try
       {
           System.out.println("Introduce la palabra: ");
           linea=br.readLine();
           tam=Integer.parseInt(linea);
           palabra=new String[tam];

           for(i=0;i<palabra.length;i++)
           {
               if()
               {
                   System.out.println("La palabra no es valida");
               }
               else
               {
                   System.out.println("La palabra es valida");
               }
           }
       }
       catch(Exception ex)
       {
           System.out.println("Errores en la lectura: "+ex);
       }
   }
}

Perikles

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.

Leyer

#2
Cita de: 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.

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 (java) [Seleccionar]

         
           linea=br.readLine();
           tam=Integer.parseInt(linea);
           palabra=new String[tam]



Código (java) [Seleccionar]
try
       {
            char palabra[];
           System.out.println("Introduce la palabra: ");
           linea=br.readLine();
           palabra=linea.toCharArray();

           for(i=0;i<palabra.length;i++)
           {

               if(palabra[i]!='Q')
               {
                   System.out.println("La palabra no es valida");
               }
               else
               {
                   System.out.println("La palabra es valida");
               }
           }
       }
       catch(Exception ex)
       {
           System.out.println("Errores en la lectura: "+ex);
       }


Un Saludo.

Perikles

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.




Leyer

lol jaja  por eso dije seguramente  :xD no la deduje bien

Perikles

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.

andaluz

#6
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.

Leyer

#7
No sera asi?

Código (java) [Seleccionar]
for(i=0;i<linea.length();i++)
           {
           if(!Character.isLetter(linea.charAt(i))){
           
                   System.out.println("");
               }
}