Java - ayuda con errores de programa

   
Vista:

ayuda con errores de programa

Publicado por LUIS ENRIQUE luis.rdz.cerecero@outlook.com (1 intervención) el 16/06/2015 21:07:18
que tal me encargaron esta tarea pero por mas que le busco no logro encontrar los errores y porque no compila podrian ayudarme

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Scope {
 private int i = 1;
 public void firstMethod() {
 int i;
 int j = 5;
 this.i = i + j;
 System.out.println("this.i = " + this.i);
 System.out.println("i = " + i);
 secondMethod(this.i);
 }
 public void secondMethod(int i) {
 int j = 8;
 i = i + j;
 System.out.println("this.i = " + this.i);
 System.out.println("i = " + i);
 }
 public int getVariable() {
 return i;
 }
}

-------------------------------------------------------------------

1
2
3
4
5
6
7
8
9
public class TestScope {
 
 public static void main(String args[]){
 Scope scope = new Scope();
 System.out.println("i = " + scope.getVariable());
 scope.firstMethod();
 System.out.println("i = " + scope.getVariable());
 }
}
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 con errores de programa

Publicado por Jose (8 intervenciones) el 17/06/2015 04:54:29
Hola
Luis Enrique.


Primero debes saber que es un ámbito de bloque.
Un bloque, sentencia, método; es un cierto número de sentencias simples, estan encerradas entre llaves.
Los bloques definen el ámbito de nuestras variables. Los bloques pueden ser anidados dentro de un bloque.

Ejemplo:
1
2
3
4
5
6
7
public static void main(String... args) {
 int i;
..............
{
   int k;
} //k soló esta definido hasta aquí.
}

No se pueden declarar variables de nombres idénticos en dos bloques anidados.
Ejemplo:

Lo siguiente dará un error y no se compilara.
1
2
3
4
5
6
7
8
public static void main(String... args) {
int i;
.....................
{
  int k;
  int i; //error; no se puede definir i en un bloque interno o método.
........................
}

Creó que te será mucho más facíl localizar el error.
Saludos.!!
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