Java - Problema de declaración Java

 
Vista:

Problema de declaración Java

Publicado por Jorge Casanova (1 intervención) el 18/04/2017 17:00:46
Donde podría declarar la variable "nom"? Ya que si la pongo global no me cuenta el método "demanarNom".
Alguien me podría explicar un poco que prioridades hay por favor?

Gracias un saludo.


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
import java.util.Scanner;
 
public class Bienvenida {
 
	public static void main(String[] args) {
 
		Bienvenida programa = new Bienvenida();
		programa.inici();
	}
 
	public void inici() {
 
		demanarNom(nom);
		imprimirNom();
	}
 
	public void demanarNom (String a) {
		Scanner lector = new Scanner(System.in);
 
		System.out.print("Escriu el teu nom.");
		a = lector.nextLine();
	}
 
	public void imprimirNom () {
		System.out.println("Hola " + nom + " Benvingut");
	}
}
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

Problema de declaración Java

Publicado por Renzo (232 intervenciones) el 18/04/2017 18:43:59
Hola
tu clase debería ser así:

la variable nom debe pertenecer a la clase bievenida
no es necesario pasaro como parametro la variable nom al metodo demandarNom

Espero te sirva

Renzo

////////////////////////////////////

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
import java.util.Scanner;
 
public class Bienvenida {
 
	String nom;
 
	public static void main(String[] args) {
 
		Bienvenida programa = new Bienvenida();
		programa.inici();
	}
 
	public void inici() {
		demanarNom();
		imprimirNom();
	}
 
	public void demanarNom() {
		Scanner lector = new Scanner(System.in);
 
		System.out.print("Escriu el teu nom.");
 
		nom = lector.nextLine();
 
	}
 
	public void imprimirNom() {
		System.out.println("Hola " + nom + " Benvingut");
	}
}
///////////////////////////////////
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

Problema de declaración Java

Publicado por Jorge Casanova (1 intervención) el 18/04/2017 20:22:46
Pero si por ejemplo lo quisiese hacer con parámetros? Es decir tal que asi.

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
import java.util.Scanner;
 
public class Bienvenida {
 
	public static void main(String[] args) {
 
		Bienvenida programa = new Bienvenida();
		programa.inici();
	}
 
	public void inici() {
		demanarNom(nom);
		imprimirNom();
	}
 
	public String demanarNom (String nom) {
		Scanner lector = new Scanner(System.in);
 
		System.out.print("Escriu el teu nom.");
		nom = lector.nextLine();
 
		return nom;
	}
 
	public void imprimirNom () {
		System.out.println("Hola " + demanarNom(nom) + " Benvingut");
	}
}



El problema es que en la variable "nom" tanto de inici com de imprimirNom, dice que no esta declarada, como se podria arreglar eso?
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

Problema de declaración Java

Publicado por Renzo (232 intervenciones) el 18/04/2017 21:02:07
Para usar un parámetro en un método, debe haber una variable definida

1. donde se consume dicho método
2. dentro del método


otra opción para tu clase es:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Bienvenida {
 
public static void main(String[] args) {
 
Bienvenida programa = new Bienvenida();
programa.inici();
}
 
public void inici() {
imprimirNom(demandarNom());
}
 
public String demandarNom () {
Scanner lector = new Scanner(System.in);
 
System.out.print("Escriu el teu nom.");
 
return lector.nextLine();
}
 
public void imprimirNom (String nom) {
System.out.println("Hola " + nom + " Benvingut");
}
}
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
Imágen de perfil de Sandro
Val: 392
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema de declaración Java

Publicado por Sandro (166 intervenciones) el 19/04/2017 15:28:01
ya que de esta forma, solicitaria dos veces la variable nom

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
import java.util.Scanner;
 
 
 
public class Bienvenida {
 
 
 
	public static void main(String[] args) {
 
 
 
		Bienvenida programa = new Bienvenida();
 
		programa.inici();
 
	}
 
 
 
	public void inici() {
 
		demanarNom(nom);
 
		imprimirNom();
 
	}
 
 
 
	public String demanarNom (String nom) {
 
		Scanner lector = new Scanner(System.in);
 
 
 
		System.out.print("Escriu el teu nom.");
 
		nom = lector.nextLine();
 
 
 
		return nom;
 
	}
 
 
 
	public void imprimirNom () {
 
		System.out.println("Hola " + demanarNom(nom) + " Benvingut");
 
	}
 
}
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

Problema de declaración Java

Publicado por Jordi (1 intervención) el 20/04/2017 23:58:47
Puedes acceder a una variable que esté declarada en un nivel jerárquico superior aunque no esté iniciada, osea, que no te va a dar error de compilación si tratas de sumar una variable null pero sí que cuando el programa ejecute la instrucción te dará exception. Hacer esto da muchas ventajas aunque como acabo de decir también hará que el programa sea más susceptible a bugs si se te olvida iniciar la variable y la llamas.

1
2
3
4
5
6
7
8
9
10
11
int a;
 
int c = b; //c no puede ser igual a b porque esta está en un nivel jerárquico inferior.
 
public void iniciar a(){
 
int b = 230;
 
a = b;
 
}

No sé si este pequeño ejemplo te habrá servido...
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