package pascaltriangle;
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "Program do liczenia trojkata Pascala");
int amountOfVerses=Integer.parseInt(JOptionPane.showInputDialog("Podaj ile chcesz wyswietlic wierszy trojkata PASCALA"));
triangle trojkat=new triangle(amountOfVerses); //creating the triangle, with appropriate amount of verses
}
}
package pascaltriangle;
public class triangle {
public triangle(int _versesAmount)
{
this.versesAmount=_versesAmount; //assigning amount of verses user would like to print out
verse=new verseClass[versesAmount]; //creating appropriate amount of objects of class verse, i.e right amount of verses
for(int i=0;i
verse[i].createVersesWithSize(i+1);
}
// class verseClass which is responsible for being a ONE verse of pascal triangle
public class verseClass
{
public void createVersesWithSize(int _verseSize)
{
elements=new int[_verseSize];
//each verse has some elements, i.e the first verse, will have one element, second one will have 2
}
private int elements[];
}
private int versesAmount;
private verseClass verse[];
}
chciałem wykorzystać nową zdobytą wiedzę o zagnieżdżonych klasach w JAVIE(nauczyć się tego), ale napotkałem pewien problem a wynika on z tego, że jak tutaj
verse[i].createVersesWithSize(i+1);
chcę utworzyć dla każdego wersu, odpowiednią ilość elementów problem leży pewnie w tym, że klasa verseClass ma w sobie tablicę elements, która w momencie gdy tworzę odpowiednią ilość wersów tutaj
verse=new verseClass[versesAmount
nie jest tworzona i potem nie jest widoczna, kiedy chcę zdefiniować ile dany wiersz ma mieć elementów (ale to jest tylko na chyba) jeśli moje przypuszczenia są prawidłowe, to jak się dobrać do tego – Dodane Pt maja 21, 2010 2:28 pm –
verse[i]=new verseClass();
brakowało tego, ale trochę to dziwne, czy po utworzeniu tablicy obiektów, ta linijka nie powinna być zbędna ?