Não retorna o valor dentro do FOR, e se retorno fora do FOR, o método ignora a estrutura

package gerandosequencia;

public class Gerando {

public int Fn;

public int reult() { 

	int k, i = 0, t, j = 1;

	for (k = 1; k < Fn; k++) {

		t = i + j;
		i = j;
		j = t;

		return j;

	}

}

}

O que você quer fazer exatamente?
Que o resultado esperado?

Qual é o valor de Fn ?

É um método para imprimir a sequencia de fibonacci. Quem vai definir o valor de Fn será o usuário. Esse método vai ser chamado na classe principal e mostrar o uma sequêcia conforme o tamanho que o usuário digitar em Fn.

Como estás a preencher esse valor? No código que mostraste esse valor nunca é alterado

Se é para imprimir, então em vez do return deveria ter um System.out.println.

É isso?

A parte que o código solicita o valor e imprimi no console estão na classe principal. Essa calsse aqui é onde está o atributo Fn e o metodo resul(). O problema é que quando o return está dentro da estrutura for o eclipse acusa erro no método e quando coloco o return fora da estrutura for, o metodo ignora a estrura for.

Sim é que essa parte está na classe principal essa é a classe “objeto”.

Mostra todo o teu código em vez de tentares descrever.

O facto do Eclipse dar erro quando tens o return no for é porque esse método nunca vai ter return se não entrar no for. E não é isto que queres, uma vez que queres returnar o ultimo valor de j e não o primeiro que for atribuido no for.
O facto de não funcionar quando tens o return fora do for é porque provavlemente algo está errado no set da variavel e chega com valor 0 mas como não mostras o código, é só adivinhação…

1 curtida
package sequenciadefibonacci;
import java.util.Scanner;
import gerandosequencia.Gerando;

public class Fibonacci {
	public static void main(String[] args) {
	  Scanner input = new Scanner(System.in);
	  Gerando fb = new Gerando();
	  System.out.println("Sequência de Fibonacci:");
	  System.out.println("Digite a quantidade da sequência que deseja obter:");
	  fb.Fn = input.nextInt();
	  int resultado = fb.reult();
	  System.out.println(": " + resultado);
   	  input.close();
	}
}

Esse código está a funcionar correctamente. Perante o número n dado como input, está a imprimir o n-ésimo elemento da sequência de Fibonacci. Se queres que imprima todos os elementos até n terás de colocar o println dentro do for.

Assim tmbm não funciona amigo, pra eu imprimir algo dentro desse metodo ele teria que ser void. Eu implementei uma solção mais viável. Está no Git se quiserem dar uma olhada. Obrigado. GitHub - Guto2205/Fibonacci: Sequência de Fibonacci