Zrobiłem swój własny mały projekcik w Javie, obsługujący funkcję liniową y = ax + b. Chciałem stworzyć metodę, która po podaniu y zwraca tablicę ze wszystkimi możliwymi wartościami x (a i b są już przypisane).
public double[] getXfromY(int minimalX, int maximalX, double y) {
double[] x;
int tableLong = 0;
for (double i = minimalX; i <= maximalX; i+=0.001) {
if (i * a + b == y) {
tableLong++;
}
}
x = new double[tableLong];
int actualTableID = 0;
for (double i = minimalX; i <= maximalX; i+=0.001) {
if (i * a + b == y) {
x[actualTableID] = i;
actualTableID++;
}
}
return x;
}
minimalX i maximalX służą do określenia najmniejszej i największej możliwej wartości X, jaka może znajdować się w zwracanej tablicy.
- Metoda ta nie działa. Dlaczego?
- Czy można to jakoś zmniejszyć? (bez korzystania z ArrayList)