Pereiti prie turinio

Importavimas iš tekstinio failo grafikui


Rekomenduojami pranešimai

Sveiki, reikia padaryti, kad programa nuskaitytų tekstinį failą ir nubrėžtų grafą, kaip padarytų, kad programa braižytų pagal tekstinį failą?

 

 

import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

public class GraphingData extends JPanel {
   int[] data = {
       21, 14, 18, 03, 86, 88, 74, 87, 54, 77,
       61, 55, 48, 60, 49, 36, 38, 27, 20, 18
   };
   final int PAD = 20;

   protected void paintComponent(Graphics g) {
       super.paintComponent(g);
       Graphics2D g2 = (Graphics2D)g;
       g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                           RenderingHints.VALUE_ANTIALIAS_ON);
       int w = getWidth();
       int h = getHeight();
       // Draw ordinate.
       g2.draw(new Line2D.Double(PAD, PAD, PAD, h-PAD));
       // Draw abcissa.
       g2.draw(new Line2D.Double(PAD, h-PAD, w-PAD, h-PAD));
       double xInc = (double)(w - 2*PAD)/(data.length-1);
       double scale = (double)(h - 2*PAD)/getMax();
       // Mark data points.
       g2.setPaint(Color.red);
       for(int i = 0; i < data.length; i++) {
           double x = PAD + i*xInc;
           double y = h - PAD - scale*data[i];
           g2.fill(new Ellipse2D.Double(x-2, y-2, 4, 4));
       }
   }

   private int getMax() {
       int max = -Integer.MAX_VALUE;
       for(int i = 0; i < data.length; i++) {
           if(data[i] > max)
               max = data[i];
       }
       return max;
   }

   public static void main(String[] args) {
       JFrame f = new JFrame();
       f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       f.add(new GraphingData());
       f.setSize(400,400);
       f.setLocation(200,200);
       f.setVisible(true);
   }
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai pridedi duomenų skaitymą į masyvą ir viskas.

 

import java.awt.*;
import java.awt.geom.*;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.swing.*;

public class GraphingData extends JPanel {
   static int[] data = new int[100];
   final int PAD = 20;
   static int dydis = 0;

   protected void paintComponent(Graphics g) {
       super.paintComponent(g);
       Graphics2D g2 = (Graphics2D)g;
       g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                           RenderingHints.VALUE_ANTIALIAS_ON);
       int w = getWidth();
       int h = getHeight();
       // Draw ordinate.
       g2.draw(new Line2D.Double(PAD, PAD, PAD, h-PAD));
       // Draw abcissa.
       g2.draw(new Line2D.Double(PAD, h-PAD, w-PAD, h-PAD));
       double xInc = (double)(w - 2*PAD)/(dydis-1);
       double scale = (double)(h - 2*PAD)/getMax();
       // Mark data points.
       g2.setPaint(Color.red);
       for(int i = 0; i < dydis; i++) {
           double x = PAD + i*xInc;
           double y = h - PAD - scale*data[i];
           g2.fill(new Ellipse2D.Double(x-2, y-2, 4, 4));
       }
   }

   private int getMax() {
       int max = -Integer.MAX_VALUE;
       for(int i = 0; i < dydis; i++) {
           if(data[i] > max)
               max = data[i];
       }
       return max;
   }

private static void readData() throws FileNotFoundException, IOException {
	File file = new File("c:/duomenys.txt");
	FileInputStream fis = new FileInputStream(file);
    BufferedInputStream bis = new BufferedInputStream(fis);
    DataInputStream dis = new DataInputStream(bis);
	while (dis.available() != 0) {
		data[dydis] = Integer.parseInt(dis.readLine());
		dydis++;
	}
	fis.close();
	bis.close();
	dis.close();
}

   public static void main(String[] args) {
   	try {
		readData();
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
       JFrame f = new JFrame();
       f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       f.add(new GraphingData());
       f.setSize(400,400);
       f.setLocation(200,200);
       f.setVisible(true);
   }
}

 

Tie kvaili tarpai vietoj tab sudarke koda, bet gali pats patvarkyti, as turiu begti :)

duomenys.txt

Redagavo Plx
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...