Foro sobre Java SE > Duda separar cadena con split
Se resuelve con los métodos indexOf, lastIndexOf, subString y split de la clase String
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html
Hola Ruben.
Tambien podes utilizar las clases Pattern y Matcher para lograr tu cometido.
Aqui un ejemplo:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SepararCadena {
private static final String PATRON_DE_COMPARACION = "\\((\\d+),(\\d+)\\)";
public static void main(String[] args) {
Pattern patron;
Matcher comparador;
String primerNumero;
String segundoNumero;
//Este seria el texto leido desde la linea de comandos.
String cadenaDeEjemplo = "Calcula (10,20)";
patron = Pattern.compile(PATRON_DE_COMPARACION);
comparador = patron.matcher(cadenaDeEjemplo);
if (comparador.find()) {
primerNumero = comparador.group(1);
segundoNumero = comparador.group(2);
System.out.println("Primer numero: " + primerNumero + ". Segundo numero: " + segundoNumero);
//Suma de ejemplo.
int p = Integer.parseInt(primerNumero);
int s = Integer.parseInt(segundoNumero);
System.out.println("La suma es: " + (p + s));
}
}
}
Espero que te sirva.
Saludos.
Buenas,
En mi opinión la oopcion pro para hacer esto es la que te comenta alaguslaz,
pero igual te suspenden por copiar XD
una manera rudimentaria, manejando Strings y metodos basicos de esta clase, seria la siguiente:
String a= "calcula(1,3)";
a=a.replace("calcula", "");//reemplaza "calcula" por nada---> (1,3)"
//split(",") divide el string
//substring devuelve parte de un String
//Integer.parseInt convierte en int un String que representa a un numero
int numeroA= Integer.parseInt(a.split(",")[0].substring(1));
int numeroB= Integer.parseInt(a.split(",")[1].substring(0,a.split(",")[1].length()-1));
Esto funcionar, funciona, pero no es lo optimo
Pruebalo, juega con ello, y diviertete con Java ;)
Saludos,
Oldskultxo
String cadena="calcula(123,123)";
Double numero1= Double.parseDouble(cadena.substring(cadena.indexOf("(")+1, cadena.indexOf(",")));
Double numero2= Double.parseDouble(cadena.substring(cadena.indexOf(",")+1, cadena.indexOf(")")));
System.out.println(numero1+numero2);
Hola, estoy haciendo una calculadora en java, y lo que se ingresa por linea de comandos es "calcula (numero,numero)". Esto tiene que sacar la suma, la resta y la multiplicación de esos números. Mi pregunta es como puedo obtener los números que ha introducido el usuario? Segun me han comentado con el método split se puede hacer pero no se como hacerlo para solo cojer los números y quitarle los parentesis y la coma. Muchas gracias de antemano.