Escolar Documentos
Profissional Documentos
Cultura Documentos
Mtodos (Subprogramas)
Tipos de Mtodos: con resultado y tipo void
Definicin
1. Mtodo con resultado, retorna un solo valor, equivalente a los subprogramas tipo funcin
Forma general
float valor;
valor = b*h;
return x*x*x;
}
return valor;
}
Llamada
identificador (lista_de_parmetros_actuales);
donde lista_de_parmetros_actuales es una lista de variables separadas por comas. Los
parmetros actuales deben coincidir en nmero y tipo con los parmetros formales
Universidad de Carabobo. Facultad de Ingeniera. Departamento de Computacin. Computacin Avanzada. 1-2006.
Lenguaje Java
Ejemplos
float y = 15, x = 8;
float c = area(y, x); // llamada al mtodo area
Arreglos
En Java l o s n d i c e s s o n v a l o r e s e n t e r o s c o m p r e n d i d o s e n t r e 0 y l m i t e - 1 ;
siendo
lmite
el
nmero
de
elementos
del
bsicamente, un objeto que apunta a un conjunto de otros objetos o tipos de datos primitivos. La
nica diferencia entre los arreglos y los objetos es que existe una sintaxis especial para hacer que
los arreglos se comporten como los arreglos de otros lenguajes. Sin embargo, a diferencia de C y
C++, en Java los arreglos no pueden cambiar de tamao, ni se puede hacer un acceso fuera de los
lmites de un arreglo.
cc
a[0]
a[1]
a[2]
a[3]
a[4]
int a[];
int[] a;
El nmero de elementos del vector no forma parte de la declaracin, sino que se define al crearlo.
Lenguaje Java
Creacin
Los vectores se crean en memoria por medio de la palabra clave new.
Forma general:
Ejemplo:
a = new int[5];
Lenguaje Java
ccc
p[0]
p[1]
p[2]
p[3]
p[4]
length
Las instrucciones:
int x[];
x = p;
Tienen el efecto de asignar el valor de la referencia p a la referencia x, de tal modo que tanto x
int a[][];
int[][] a;
El nmero de elementos del arreglo no forma parte de la declaracin, sino que se define al crearlo.
Universidad de Carabobo. Facultad de Ingeniera. Departamento de Computacin. Computacin Avanzada. 1-2006.
Lenguaje Java
Creacin
Los arreglos se crean en memoria por medio de la palabra clave new.
Forma general
nombreMatriz = new tipo[nmero de filas][nmero de columnas];
Ejemplo
a = new int[5][6]; // crea una matriz de 5 filas x 6 columnas de elementos int
Lenguaje Java
Longitud fsica
Nmero de filas de una matriz nombreMatriz.length
Nmero de columnas de una fila nombreMatriz[indice_fila].length
Ejemplo
int ventas[][] = new int[20][12];
for (int i = 0; i < ventas.length; i++)
for (int j = 0; j < ventas[i].length; j++)
ventas[i][j] = (int)(Math.random()*100);
p[0]
p[0][0]
P[0][1]
P[0][2]
Fila 0
p[1]
p[1][0]
p[1][1]
P[1][2]
Fila 1
Columna 0
Columna 1
Columna 2
Las instrucciones:
int x[][];
x = p;
Tienen el efecto de asignar el valor de la referencia p a la referencia x, de tal modo que tanto x
p[0] referencia a los elementos de la fila 0, p[1] referencia a los elementos de la fila 1
Lenguaje Java
Ejercicio de Aplicacin
/*
* ArreglosMetodos.java
*
* Created on 29 de marzo de 2006, 11:50 AM
*/
package CompAvanz12006.Unidad1.metodosArreglos;
/**
* Esta clase permite visualizar la definicin y uso de mtodos static,
* sobrecarga de mtodos,
* as como tambin el manejo de arreglos
* @author mdeabreu
*/
public class ArreglosMetodos {
public ArreglosMetodos() {
}
public static void main(String[] args) {
int n = (int)(Math.random()*10) + 1; //genera un valor entre 1 y 10
System.out.println("n: " + n + "\n");
int vector[] = new int[n];
generar(vector, 10, 100);
System.out.println("\nVector\n");
escribir(vector);
System.out.println("\npromedio de vector: "+ promedio(vector)+"\n");
float matriz[][] = new float[n][2*n];
generar(matriz,10,100);
//genera una matriz de nx2*n
System.out.println("\nMatriz");
// con valores entre 10 y 100
escribir(matriz);
System.out.println("Fila 0 de Matriz");
escribir(matriz[0]); //trata una fila de una matriz como un vector
int vector2[]= vector; // vector2 referencia los elementos de vector
Universidad de Carabobo. Facultad de Ingeniera. Departamento de Computacin. Computacin Avanzada. 1-2006.
Lenguaje Java
System.out.println("\nVector\tVector2
elementos de vector");
escribir(vector, vector2);
Lenguaje Java
}
/** calcula el promedio de todos los elementos del vector x */
public static float promedio(int x[]){
float suma = 0 ;
for(int i = 0; i < x.length; i++) suma += x[i];
return suma/x.length;
}
/** retorna en el vector s la suma de los vectores x e y */
public static void sumar(int x[], int y[], int s[]){
for(int i = 0; i< x.length; i++) s[i]=x[i]+y[i];
}
/** retorna la referencia al vector que almacena la suma de los vectores x e
y */
public static int [] sumar(int x[], int y[]){
int s[] = new int [x.length];
for(int i = 0; i< x.length; i++) s[i] = x[i] + y[i];
return s;
}
/** genera una matriz x con valores float aleatorios en el rango (a, b) */
public static void generar(float x[][], int a, int b){
for(int i = 0; i < x.length; i++)
for(int j = 0; j < x[0].length; j++)
x[i][j] = aleatorio(a,b);
}
/** escribe todos los elementos de la matriz x*/
public static void escribir(float x[][]){
for(int i = 0; i<x.length; i++){
for(int j = 0; j < x[0].length; j++)
System.out.print((int)(x[i][j] * 100)/100.0 + "\t");
System.out.println();
}
}
}