Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Fibonnacciho posloupnost - výpis

Dobrý den programuji úkol v Java a potřeboval bych pomoc.
Můj program má výstup toto :
Zadej pocet clenu posloupnosti: 5
[0, 0, 0, 0, 0, 0]
[0, 1, 0, 0, 0, 0]
[0, 1, 1, 0, 0, 0]
[0, 1, 1, 2, 0, 0]
[0, 1, 1, 2, 3, 0]
[0, 1, 1, 2, 3, 5]

A já bych potřeboval aby měl výstup tento:
Zadej pocet clenu posloupnosti: 5
[0]
[0, 1]
[0, 1, 1]
[0, 1, 1, 2]
[0, 1, 1, 2, 3]
[0, 1, 1, 2, 3, 5]

Prosím poraďte co kde změnit tady zasílám můj zdrojový kód

import java.util.*;
public class Fibon {
	public static void main (String[] args){
	Scanner sc = new Scanner(System.in);
	System.out.print("Zadej pocet clenu posloupnosti: ");
	int n = sc.nextInt()+1;
	int [] p = new int [n];
	for(int i=0;i<n;i++){
		p[i]=fibonacciRek(i);
		System.out.println(Arrays.toString(p));
	}
	}
public static int fibonacciRek(int index){
if(index == 0) return 0;
else if(index == 1) return 1;
else return fibonacciRek(index - 1) + fibonacciRek(index - 2);
}
}
Předmět Autor Datum
Tak to nevypisuj metodou Arrays.toString(p), ale napiš si vlastní. Tahle metoda vypisuje celé pole,…
MaSo 30.10.2011 14:21
MaSo
Tak jsem to zkusil vypisovat přes For a vzniklo mi z toho toho : Zadej pocet clenu posloupnosti: 5 […
Morco 30.10.2011 14:59
Morco
System.out.print(p[j]); if (j < i)System.out.print(", "); nový
Wikan 30.10.2011 15:09
Wikan
Třeba takto: System.out.print("["); for (int j = 0;j<i+1;j++) { System.out.print(p[j]); if(j!=i) {… nový
marekdrtic 30.10.2011 15:09
marekdrtic
Děkuji mockrát :) poslední
Morco 30.10.2011 15:14
Morco

Tak to nevypisuj metodou Arrays.toString(p), ale napiš si vlastní. Tahle metoda vypisuje celé pole, proto tam jsou ty nuly. Nula je totiž defautlní hodnota int proměnné.

Tak jsem to zkusil vypisovat přes For a vzniklo mi z toho toho :
Zadej pocet clenu posloupnosti: 5
[0, ]
[0, 1, ]
[0, 1, 1, ]
[0, 1, 1, 2, ]
[0, 1, 1, 2, 3, ]
[0, 1, 1, 2, 3, 5, ]

při čemž nevím jak to nastavit tak aby to za posledním číslem už nedělalo ", "

System.out.print("[");
for (int j = 0;j<i+1;j++) {
System.out.print(p[j]+", ");
}
System.out.println("]");

Nebo jsem na to šel špatně?

Zpět do poradny Odpovědět na původní otázku Nahoru