
Ayuda Código Programación
Publicado por Victor (2 intervenciones) el 02/03/2016 14:44:35
Hola, Soy Víctor y me gustaría que me ayudaráis en un codigo que tengo que entregar. Lo que necesito saber es como poner los bucles, me explico: el programa lo que hace es pedir al usuario una palabra patron y otra substitucion, a continuación, cuando pone "Escribe una linea de texto" si le das a enter(la primera vez) tiene que salir un error de que debe escribir al menos una linea. Ahora bien, si hemos introducido una linea de texto el programa deberá continuar en bucle, pero si pulsas enter el programa terminará.Además, otro problema que me da al hacer el bucle es que el contador se incrementa todo el rato y yo quiero que se incremente las veces que este la palabra patron por linea, no que me las vaya sumando cada vez que pongo una linea. Mi código es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import java.util.Scanner;
/**
* Programa que cambia una palabra patrón por otra de substitución
* @author Víctor Paredes Gallego
* @version 1.0
*/
public class CambiaPalabras {
public static void main (String [] args ) {
String patron;
String substitucion;
String lineatexto;
int contador=0;
System.out.print("Escriba la palabra a buscar: ");
Scanner input = new Scanner(System.in);
patron = input.nextLine(); //Leemos palabra patrón
System.out.print("Escribe la palabra por la que se substituye: ");
substitucion = input.nextLine(); //Leemos la substitución
if ((patron.equals(substitucion))) {
System.out.println("Error: la palabra a buscar y la palabra a substituir no pueden ser la misma.");
int fin=0;
System.exit(fin);
}
if ((patron == null) || (patron.equals(""))) {
System.out.println("Error: debe escribir una palabra para patrón");
int fin1=0;
System.exit(fin1);
}
if ((substitucion == null) || (substitucion.equals(""))) {
System.out.println("Error: debe escribir una palabra para substitucion");
int fin2=0;
System.exit(fin2);
}
System.out.println("Ahora escriba líneas de texto. El programa terminará cuando no escriba nada y pulse intro\n");
do {
System.out.print("Escriba una línea de texto:");
lineatexto = input.nextLine();
String[] palabras = lineatexto.split(" ") ;
String nueva = new String();
//recorremos la línea de texto introducida
for (int i=0; i < palabras.length; i++) {
if(palabras[i].equals(patron)){
palabras[i] = substitucion;
contador++;
}
nueva = nueva+palabras[i]+" ";
}
System.out.println(nueva);
System.out.print("Se ha encontrado el patrón "+patron+" "+contador+" veces \n");
}while (lineatexto == "");
}
}
Valora esta pregunta


0