Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Refer en 07 de Agosto 2015, 06:37

Título: Localizar el ultimo caracter en una cadena y si es un punto eliminarlo en Java
Publicado por: Refer en 07 de Agosto 2015, 06:37
Hola a todos. necesito un que me ayude a eliminar el ultimo carácter de una cadena para despues eliminarlo, Un ejemplo: Hola.

Yo tenia pensado hacer algo como esto:

String Cadena = Hola. //Cadena
CaracterBasura = Cadena.length() //Optiene la cantidad de caracteres de la cadena Como resultado la posicion del ultimo caracter.

If(Cadena.POSICION DEL ULTIMO CARACTER == ".")
      Cadena.metodoParaEliminarElCaracter


Bueno, He encontrado un metodo para hacer el mismo efecto pero no es muy flexible,
seria asi:

Código: [Seleccionar]
import java.util.Scanner;

class Datos{
    public static void main(String[]args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("Escribe: ");
        String cadena= scanner.nextLine();
        cadena = cadena.toUpperCase();
       
       
        System.out.println("Cantidad de caracteres: "+cadena.length());
       
        if(cadena.contains("."))
        cadena = cadena.substring(0,cadena.length()-1);
       
        System.out.println(cadena);
    }
}

el metodo substring no es muy flexible, tampoco la condiccion if no es muy solida.

Por favor ayudenme a encontrar algun metodo cual me de el resultado y sea mas dinamico.

HOLA.   ---> HOLA
Título: Re:Localizar el ultimo caracter en una cadena y Eliminarlo en Java
Publicado por: Alex Rodríguez en 09 de Agosto 2015, 13:08
Hola Refer, en el curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188 se explican distintas maneras en que se podría hacer esto. Además se explica por qué se debe usar equals cuando se trata de hacer comparaciones con Strings.

Si lo que quieres es verificar si el último caracter es un punto y si es así eliminarlo puedes usar este código:

Código: [Seleccionar]
import java.util.Scanner;

class Datos{
    public static void main(String[]args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("Escribe una cadena: ");
        String cadena= scanner.nextLine();
        cadena = cadena.toUpperCase();
        System.out.println("Cantidad de caracteres: "+cadena.length());
        String ultimoCaracter = cadena.substring(cadena.length()-1);
       
        if (ultimoCaracter.equals(".")){
            System.out.println("Ultimo caracter es un punto por lo que se elimina");
            cadena = cadena.substring(0,cadena.length()-1);
        }
        System.out.println(cadena);
    }
}

Saludos