elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Retornar variables de un arreglo con ciclo for en un metodo.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Retornar variables de un arreglo con ciclo for en un metodo.  (Leído 2,377 veces)
Coke951

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Retornar variables de un arreglo con ciclo for en un metodo.
« en: 29 Marzo 2015, 08:37 am »

Que tal, soy nuevo en el foro y estoy aprendido programacion en java, quizas nisiquiera haga la pregunta adecuada, lo que trato de hacer es poder retornar una variable de una lista de arreglos en un metodo...

Por ejemplo, estructurado desde la clase main entonces seria algo asi:
Código:
class Arreglos{
public static void main(String []args){
String [] arreglos = null;
String frase = "Los Animales Son Buenos Pero Comen Mucho";

arreglos = frase.split(" ");

for(int x = 0; x <= arreglos.length - 1; x++){
System.out.println("Las palabras son: "+arreglos[x]);
}
}
}
En el ciclo for en la parte "arreglos.length" en teoria me cuenta los espacios del arreglo,  los cuales son 7 y me los convierte a un tipo de dato int para decirle que ira desde x osea 0 hasta la cantidad de espacios que hay en el arreglo, osea 7, compilaba bien el problema es que al ejecutar me aparecia un error, como si contara 8, por eso tuve que restar 1, en fin, ese no era mi problema principal.

Yo quiero hacer algo asi, pero desde un metodo, ya que tengo un trabajo orientado a objetos, y necesito que hacer algo asi:
Código:
public String obtenerFrase(){
for(int x = 0; x <= arrFrase.length ; x++){
return arrFrase[x];
}

}
Bueno, asi es como yo me imaginaba que era... pero sale un error al compilar:

Creo que es por donde esta en el return.

Entonces, ¿de que forma lo puedo hacer?
Lo siento, soy un verdadero restrasado en esto, soy nuevo programando, espero me puedan ayudar.

Gracias de antemano.


En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Retornar variables de un arreglo con ciclo for en un metodo.
« Respuesta #1 en: 29 Marzo 2015, 14:27 pm »

Como aclaración cabe decir que en la mayoría de lenguajes de programación (si no es en todos) los arrays van desde la posición 0 hasta N- 1, donde N es el número de elementos del array. Normalmente en el for se recorre un array así:

Código
  1. for(int index=0; index<array.length; index++) {}

Respecto a tu otra pregunta, pues en realidad no hay mucho que pensar. Declara una variable e inicializala en null, luego en el for le asignas un valor si cumple una determinada condición y fuera del for retornas la variable.

Código
  1. public Integer getValue(int[] values) {
  2.    Integer value = values[0];
  3.  
  4.    for(int index=0; index<values.length; index++) {
  5.        if(values[i] > value)
  6.            value = values[i];
  7.    }
  8.  
  9.    return value;
  10. }

Por ejemplo, la función anterior devuelve el numero mayor de un array de numeros.

Saludos.


« Última modificación: 29 Marzo 2015, 19:09 pm por Gus Garsaky » En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Coke951

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Retornar variables de un arreglo con ciclo for en un metodo.
« Respuesta #2 en: 29 Marzo 2015, 18:42 pm »

Sobre el primer error, tienes toda la razón, hoy mientras me despertaba recorde que hay 8 numeros entre el 0 y 7 y ahi mi error... hice mi novateada en public, lo siento haha.

Sobre lo segundo, lo intente de varias maneras, una a como tu dices, crear una variable en el metodo de tipo local y utilizarla para asignarle lo que hay en el arreglo cuyo subindice le manda el for... compilaba bien, pero al ejecutar mi clase principal me sale un error al momento de utilizar ese metodo.

Prueba de Escritorio:


Entonces probablemente mi error no este ahi... te mostrare todo el codigo fuente

Clase principal
Código:
import java.util.Scanner;

class PruebaRecortador{
public static void main(String [] args){
//<- Variables ->
String palabra = "";
//<- Objetos ->
RecortadorPalabras cut = null;
RecortadorDeFrases cutF = null;
Scanner entrada = new Scanner(System.in);

//Fin de la declaracion de objetos & variables.
while(palabra.length() < 3){
System.out.println("Cual es la palabra que quieres recortar?");
palabra = entrada.nextLine();
cut = new RecortadorPalabras(palabra);
cutF = new RecortadorDeFrases(palabra);

if(cut.obtenerPalabra().equals("Error"))
System.out.println("La longitud de la palabra no  es valida");
}
System.out.println("");
System.out.print("La ultima letra es: ");
System.out.println(cut.obtenerUltimaLetra());
System.out.print("Las ultimas 2 letras son: ");
System.out.println(cut.obtenerUltimas2Letras());
System.out.print("Las ultimas 3 letras son: ");
System.out.println(cut.obtenerUltimas3Letras());
System.out.println("");
System.out.print("La primera letra es: ");
System.out.println(cut.obtenerPrimeraLetra());
System.out.print("Las primeras 2 letras son: ");
System.out.println(cut.obtener2PrimerasLetras());
System.out.print("Las primeras 3 letras son: ");
System.out.println(cut.obtener3PrimerasLetras());
System.out.println("\nLas palabras de la frase son: ");
System.out.println("La frase utilizando el metodo obtener Frase: " + cutF.obtenerFrase());
System.out.println("La frase utilizando el metodo obtenerFraseRecortada:");
System.out.println(cutF.obtenerFraseRecortada());

}
}

Clase Recortador
Código:
class Recortador{
private String palabra;

public Recortador(){
palabra = "La variable (palabra) no contiene ningun dato";
}

public Recortador(String palabra){
if(palabra.length() < 3)
palabra = "Error";
establecerPalabra(palabra);
}

public void establecerPalabra(String palabra){
this.palabra = palabra;
}

public String obtenerPalabra(){
return palabra;
}
}

Clase que extiende de Recortador
Código:
class RecortadorDeFrases extends Recortador{
private String frase;
private String [] arrFrase = null;

public RecortadorDeFrases(String palabra){
super(palabra);
establecerFrase(palabra);
}
public void establecerFrase(String palabra){
frase = palabra;
}
public String obtenerFrase(){
return frase;
}
public void recortarPalabrasDeLaFrase(){
arrFrase = frase.split(" ");
}

public String obtenerFraseRecortada(){
String pepe="";
for(int x = 0; x < arrFrase.length ; x++){
pepe = arrFrase[x];
}
return pepe;
}
}

Se perfectamente que ustedes no estan aqui para hacer la tarea de los demas, asi que se consideran que esto ya es hacerme mi tarea pues se cierra el post(?, no hay problema, me tocara investigar mucho mas en libros, aunque se que mi error es bastante simple pero esta fuera de mi comprendimiento.

Comoquiera, gracias Gus Garsaky
En línea

Coke951

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Retornar variables de un arreglo con ciclo for en un metodo.
« Respuesta #3 en: 29 Marzo 2015, 18:46 pm »

LO SIENTO! encontre mi error... soy un retrasado definitivamente

Lo solucione con esto:
Código:
public void recortarPalabrasDeLaFrase(){
arrFrase = frase.split(" ");
}

public String obtenerFraseRecortada(){
recortarPalabrasDeLaFrase();
String pepe="";
for(int x = 0; x < arrFrase.length ; x++){
pepe = arrFrase[x];
}
return pepe;
}

Tenia un metodo aparte que era el que recortaba la frase, y no la estaba utilizando, por lo tanto no recortaba la frase :( Diablos, que malo soy...

Muchas gracias Gus Garsaky.

Ya se puede cerrar el tema, y de ser posible, eliminar mi comentario de arriba... no es necesario.. GRACIAS!
« Última modificación: 29 Marzo 2015, 18:49 pm por Coke951 » En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Retornar variables de un arreglo con ciclo for en un metodo.
« Respuesta #4 en: 29 Marzo 2015, 18:52 pm »

No te preocupes, suele pasar :xD. En vista que todo está solucionado, por favor marca el tema como solucionado (check verde en tu primer post en la parte superior derecha).

Un saludo.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Usando un metodo con variables de referencia?
Java
monsefoster 5 2,806 Último mensaje 18 Enero 2010, 04:44 am
por monsefoster
arreglo de objetos sin variables globales
Java
gibi77 4 3,674 Último mensaje 12 Octubre 2011, 10:45 am
por Debci
retornar un arreglo en una funcion!
Desarrollo Web
01munrra 1 1,385 Último mensaje 6 Diciembre 2012, 17:39 pm
por Shell Root
Como retornar una matriz.
Programación C/C++
SirLancelot53 7 2,272 Último mensaje 24 Enero 2014, 04:07 am
por SirLancelot53
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines