📄 TxtDosyasindakiNotlar.java .java dosyası
⬇️ İndir
import java.awt.Color;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.border.TitledBorder;
public class TxtDosyasindakiNotlar {
public static String[] data;
public static String[][] dataOgrenci = new String[8][17];
public TxtDosyasindakiNotlar() {
// Soru:
// hocam txt dosyasından alınan bir kac ögrencinin notlarını
// belirli işlemlere tabi tutarak (1.not%40 digeri %60) ekrana nasıl yadırabiliriz.
File dosya = new File("src/data/ogrenci_bilgileri.txt");
int ogrenci = 0; // Orenci sayisi için bir index olusturuyoruz.
try {
Scanner txtOku = new Scanner(dosya);
while (txtOku.hasNextLine()) {
String satir = txtOku.nextLine();
data = satir.split(","); // dizi uzunlugu 17 olur. vuirgulle ayirarak her satiri dizi yapar.
for(int i=0 ; i<data.length ; i++) {
dataOgrenci[ogrenci][i] = data[i];
}
System.out.println("--------------> ogrenci = " + ogrenci);
ogrenci++;
System.err.println("Ogrenci Adi : " + data[0]);
System.err.println("Ogrenci No : " + data[1]);
System.err.println("data [2] : " + data[2]); // Matematik (Ders ismi)
// Ornek olmasi icin sadece Matematik dersinin notlari islendi.
System.err.print("data [3] : " + data[3] + " -> %40 = ");
int not1 = Integer.parseInt(data[3]);
int not40 = (int) (not1 * 0.4);
System.out.println(not40);
System.err.print("data [4] : " + data[4] + " -> %60 = ");
int not2 = Integer.parseInt(data[4]);
int not60 = (int) (not2 * 0.6);
System.out.println(not60);
System.err.println("data [5] : " + data[5]); // Fen (Ders ismi)
System.err.println("data [6] : " + data[6]);
System.err.println("data [7] : " + data[7]);
System.err.println("data [8] : " + data[8]);
System.err.println("data [9] : " + data[9]);
System.err.println("data [10] : " + data[10]);
System.err.println("data [11] : " + data[11]);
System.err.println("data [12] : " + data[12]);
System.err.println("data [13] : " + data[13]);
System.err.println("data [14] : " + data[14]);
System.err.println("data [15] : " + data[15]);
System.err.println("data [16] : " + data[16]);
}
txtOku.close();
} catch (FileNotFoundException e) {
System.out.println("Dosya bulunamadi: " + e.getMessage());
}
JFrame frame = new JFrame("TXT Dosyasindaki Notlar | Java Blackboard [103]");
JPanel panel = new JPanel(); // sari renkli oanel
panel.setLayout(null);
panel.setBackground(new Color (233, 222, 177));
panel.setBounds(50, 50, 924, 648);
int index=0;
for(int x=0, y=-1 ; x<7 ; x++) {
if (x%3 == 0) y++;
panel.add(ogrenciInfo(x, y, index));
index++;
}
frame.add(panel);
frame.setLayout(null);
frame.getContentPane().setBackground(new Color(124, 203, 5)); // framein rengi.
frame.setSize(1024, 768);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setVisible(true);
}
public static JPanel ogrenciInfo(int x, int y, int index) {
if (x>2) x = x%3;
String ogrenciAdi = dataOgrenci[index][0];
String okulNo = dataOgrenci[index][1];
JPanel panel = new JPanel(); // Her bir ogrencinin notlarinin goruntulendigi panel.
panel.setLayout(null);
panel.setBackground(new Color(220, 242, 230));
panel.setBorder(new TitledBorder(okulNo + " " + ogrenciAdi));
JLabel labelMatematik = new JLabel("");
/** labelMatematik.setOpaque(true);
labelMatematik.setForeground(Color.WHITE);
labelMatematik.setBackground(Color.GRAY);
*/
int mat1 = Integer.parseInt(dataOgrenci[index][3]);
int mat40 = (int) (mat1 * 0.4);
int mat2 = Integer.parseInt(dataOgrenci[index][4]);
int mat60 = (int) (mat2 * 0.6);
labelMatematik.setText(dataOgrenci[index][2]+" "+dataOgrenci[index][3]+" %40 = "+mat40+ " "+dataOgrenci[index][4]+" %60 = "+mat60);
labelMatematik.setHorizontalAlignment(SwingConstants.LEFT);
labelMatematik.setBounds(10, 20, 265, 25);
JLabel labelFen = new JLabel("");
int fen1 = Integer.parseInt(dataOgrenci[index][6]); // txt dosyadindaki Fen 1inci notu
int fen40 = (int) (fen1 * 0.4);
int fen2 = Integer.parseInt(dataOgrenci[index][7]); // txt dosyadindaki Fen 2inci notu
int fen60 = (int) (fen2 * 0.6);
labelFen.setText(dataOgrenci[index][5]+" "+dataOgrenci[index][6]+" %40 = "+fen40+ " "+dataOgrenci[index][7]+" %60 = "+fen60);
labelFen.setHorizontalAlignment(JLabel.LEFT);
labelFen.setBounds(10, 50, 265, 30);
JLabel labelTarih = new JLabel("");
int tar1 = Integer.parseInt(dataOgrenci[index][9]);
int tar40 = (int) (tar1 * 0.4);
int tar2 = Integer.parseInt(dataOgrenci[index][10]);
int tar60 = (int) (tar2 * 0.6);
labelTarih.setText(dataOgrenci[index][8]+" "+dataOgrenci[index][9]+" %40 = "+tar40+ " "+dataOgrenci[index][10]+" %60 = "+tar60);
labelTarih.setHorizontalAlignment(JLabel.LEFT);
labelTarih.setBounds(10, 80, 265, 30);
JLabel labelIngilizce = new JLabel("");
int ing1 = Integer.parseInt(dataOgrenci[index][12]);
int ing40 = (int) (ing1 * 0.4);
int ing2 = Integer.parseInt(dataOgrenci[index][13]);
int ing60 = (int) (ing2 * 0.6);
labelIngilizce.setText(dataOgrenci[index][11]+" "+dataOgrenci[index][12]+" %40 = "+ing40+ " "+dataOgrenci[index][13]+" %60 = "+ing60);
labelIngilizce.setHorizontalAlignment(JLabel.LEFT);
labelIngilizce.setBounds(10, 110, 265, 30);
JLabel labelResim = new JLabel("");
int res1 = Integer.parseInt(dataOgrenci[index][15]);
int res40 = (int) (res1 * 0.4);
int res2 = Integer.parseInt(dataOgrenci[index][16]);
int res60 = (int) (res2 * 0.6);
labelResim.setText(dataOgrenci[index][14]+" "+dataOgrenci[index][15]+" %40 = "+res40+ " "+dataOgrenci[index][16]+" %60 = "+res60);
labelResim.setHorizontalAlignment(JLabel.LEFT);
labelResim.setBounds(10, 140, 265, 30);
panel.add(labelMatematik);
panel.add(labelFen);
panel.add(labelTarih);
panel.add(labelIngilizce);
panel.add(labelResim);
panel.setBounds(15+(x*300), 15+(y*210), 285, 200);
return panel;
}
public static void main(String[] args) {
new TxtDosyasindakiNotlar();
}
}