Помещать текст в специфическую часть текстового файла в консоли JAVA

Мне хотелось бы мочь помещать слово "телефон" непосредственно перед числа: Существует какой-то тип команды, которая обнаруживала бы числа и которая точно размещала бы текст там? или просто мне поместило слово "телефон", где я хочу? introducir la descripción de la imagen aquí

    public void leerDirectorio() throws IOException{


    try {
       FileReader fr = new FileReader("C:/Users/Migui/Desktop/directorio.txt");
       BufferedReader br = new BufferedReader(fr);

       String cadena;
       int numeropersonas = 0;
       while((cadena=br.readLine())!=null){
           System.out.println("Nombre: "+ cadena + "Telefono");


           ++numeropersonas;

       }
    System.out.println("Hay " + numeropersonas + " personas en la lista");


    br.close();


    } catch (Exception ex) {
        System.out.println("No se ha encontrado texto");
    }



}

1
задан 19.03.2019, 17:48
2 ответа

Она funciГіn split () возможно использовать не только для одного carГЎcter, если не для некоторых.

String[] palabrasSeparadas = cadena.split(" ");

и этой формы у тебя будут два данных и снопы это.

System.out.println("Nombre: "+ palabrasSeparadas[0] + "Telefono"+palabrasSeparadas[1] );
0
ответ дан 02.12.2019, 05:27
  • 1
    В этом случае, tendrí в проблему, если он использует split и в цепи есть имена, составленные как, например, Мигель Á ngel, или две фамилии. – smt 19.03.2019, 18:16
  • 2
    Ты прав, не отображайте, что у имен были фамилии. Данный, что, из-за которого он оказывается одиноким, является фамилией, это было бы так: System.out.println("Nombre: "+ palabrasSeparadas[0] + palabrasSeparadas[1]+ "Telefono"+palabrasSeparadas[2] ); , Если это всегда имя и фамилия и число, это использует и другой формы только приспособь array, но это возможное простое и полезное решение – itsvan moreno 19.03.2019, 18:38

Этот метод ты servirГЎ, для которого ты нуждаешься:

 public static void main(String... args){
    String[] st = splitNumeroLetras("Manuel Perez 1318238");
    //El número de cédula está en el índice 0, los nombres en el índice 1
    System.out.println("Nombre: "+st[1]+" , Telefono: "+st[0] );
}

private static String[] splitNumeroLetras(String s) {
    OptionalInt indicePrimerNumero= IntStream.range(0, s.length())
            .filter(i -> Character.isDigit(s.charAt(i)))
            .findFirst();

    String letras = s;
    String numeros = "";

    if(indicePrimerNumero.isPresent()) {
        letras = s.substring(0, indicePrimerNumero.getAsInt());
        numeros = s.substring(indicePrimerNumero.getAsInt());
    }

    return new String[] {numeros, letras};
}

он Это печатает:

Назвал: Мануэль Перес, Телефон: 1318238

типов Дебета иметь java 8, чтобы использовать класс OptionalInt

Espero, который подавал бы тебя.

0
ответ дан 02.12.2019, 05:27