Witam ponownie. Dziekuję remigio i Wibovitowi jeszcze raz za pomoc w poprzednim problemie. Jestem (:)) młodym motylem w temacie javy. Szczerze ujmując programowanie podoba mi się coraz bardziej. Ale bez dużego wstępu powiem, mam problem z:
programem, który mam napisać na... zaliczenie, czyli.... ma po wklepaniu wartości dla funkcji, wyrysować sinusoidę lub wykres,
a jeżeli będzie można to dokonać tego w okienkach, jeżeli nie to choćby w konsoli. Sam nie wiem po co to mi, ale cóż muszę to jakoś zaliczyć. Lubię spoglądać na przykłady, bo z nich wiele się uczę. W moim problemie kłania się chyba wiedza Pana Śliża(Bacom). Reasumując po wpisaniu z "palca" wartości dla funkcji mam otrzymać wykres np. f(x)=ax2+b lub f(x)=a(sin)+1. Aby było ciekawiej dla wyników z przedziału pętli np. od -2 do 2 czyli wartości dla x: -2, -1, 0, 1, 2. A wszystko to osłodzone okienkiem, dla ujęcia możliwości edycji, dodania, wyczyszczenia ----- choć po co to - Sytem.out.println (: NIE WIEM"); Liczę na wszą wiedzą, bo moja jeszcze jest....mała. Pozdrawiam javowiczów. I wklejam to co mam, a dalej....to juz... niech moc będzie z Tobą.
import java.io.IOException;
import java.io.InputStreamReader;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import java.io.BufferedReader;
public class wykres1 {
@SuppressWarnings("null")
public static void main(String[] args) throws IOException
{
System.out.println("podaj wartości dla danych:");
System.out.println("------------------------- ");
String polecenie = "";
System.out.println("podaj a: ");
String aLiczba = wczytajTekstZKlawiatury();
double a = Double.parseDouble(aLiczba.replace(",", "."));
System.out.println("------------------------- ");
System.out.println("podaj b: ");
String bLiczba = wczytajTekstZKlawiatury();
double b = Double.parseDouble(bLiczba.replace(",", "."));
System.out.println("------------------------- ");
System.out.println("podaj c: ");
String cLiczba = wczytajTekstZKlawiatury();
double c = Double.parseDouble(cLiczba.replace(",", "."));
System.out.println("------------------------- ");
wyswietlDostepneFunkcje() ;
//double d;
//d=0;
//double i=0;
a = Double.parseDouble(aLiczba.replace(',', '.'));
b = Double.parseDouble(bLiczba.replace(',', '.'));
c = Double.parseDouble(cLiczba.replace(',', '.'));
XYSeries dataSet = null;
if (polecenie.equals("1")) {
double d;
d=0;
double i=0;
System.out.println("f(x) = ax + b");
System.out.println(" ");
for (double i1 = -2; i1 <= 2; i1=i1+0.001) {
dataSet.add(d = a * i1 + b, i1);
}
}
XYSeriesCollection xySeriesCollection = new XYSeriesCollection(dataSet);
XYDataset xyDataset = xySeriesCollection;
JFreeChart lineGraph = ChartFactory.createXYLineChart
("Wspolrzedne odcinka",
"Os X",
"Os Y",
xyDataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
ChartFrame frame = new ChartFrame("Wyswietlanie wykresu", lineGraph);
frame.pack();
frame.setVisible(true);
}
private static String wczytajTekstZKlawiatury() throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(isr);
return reader.readLine();
}
private static void wyswietlDostepneFunkcje() {
System.out.println(" ");
System.out.println("-1- f(x) = ax + b");
System.out.println("-2- f(x) = ax2 + bx + c");
System.out.println("-3- f(x) = a * sin(bx) + c");
System.out.println(" ");
System.out.println("------------------------- ");
System.out.print("Wybierz funkcje: ");
}
}
aha nie dodałem, że wykresy są na (wiecie) bibliotekach, a prz okazji, gdzie najlepiej obczaić biblioteki z javy? lub podejrzeć ich kod?
Pozdrawiam Wszystkich.