Java - Ayuda Código Programación

 
Vista:
sin imagen de perfil

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda Código Programación

Publicado por arck (145 intervenciones) el 02/03/2016 21:15:27
Mira varias preguntas mas abajo que un compañero tuyo también paso por este foro :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar