Home » General (non-technical) » Polish users » Problem z parseFloat w pętli(parseFloat problem projekt java)
Problem z parseFloat w pętli [message #1694487] |
Tue, 05 May 2015 15:23 |
Jakub Sobierski Messages: 1 Registered: May 2015 |
Junior Member |
|
|
łWitam, mam pewien problem z parseFloat, ponieważ gdy próbóje umieścić go w pętli to odrazu wyświetla mi się stranie dużo błedów w eclipse.
for(i=0;i<5;i++) { //sumowanie uzywajac combobox
for(j=0;j<5;j++) {
tabela[i][j]=Float.parseFloat(data[i][j]); //TUTAJ CO NIE TAK...
System.out.println(tabela[i][j]);
wynik=wynik+tabela[i][j];
rtext.setText("Suma kolumn="+wynik);
}
}
Umieszczę jeszcze cały kod, być może gdzieś indziej znajduje się błąd.
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/*import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;*/
import java.util.EventObject;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.table.JTableHeader;
//deklaracja bibliotek
public class Main extends JFrame{
public static void main(String[] args) throws NumberFormatException { //main
Main okno=new Main();
// PrintWriter out = new PrintWriter("C:\\Tablica.txt");
}
JFrame f=new JFrame();
JPanel p=new JPanel();
JMenuBar jmb = new JMenuBar();
JMenu file=new JMenu("Plik");
JMenuItem zap2=new JMenuItem("Zapisz"); //tworzenie menu
JMenuItem exit=new JMenuItem("Zakończ");
//JMenu edit=new JMenu("Edycja");
JMenu view=new JMenu("Widok");
JMenuItem stanu=new JMenuItem("Pasek stanu");
JMenu obl=new JMenu("Obliczenia");
JMenuItem suma=new JMenuItem("Suma");
JMenuItem avg=new JMenuItem("Średnia");
JMenuItem min=new JMenuItem("Minimum");
JMenuItem max=new JMenuItem("Maximum");
JMenu help=new JMenu("Pomoc");
JMenuItem hitem1=new JMenuItem("Info");
JToolBar tb=new JToolBar("123", JToolBar.VERTICAL); //tworzenie toolbar
Icon zap = new ImageIcon(getClass().getResource("save.png"));
JButton save=new JButton(zap);
Icon quit = new ImageIcon(getClass().getResource("wyjscie.png"));
JButton qui=new JButton(quit);
Icon wyp = new ImageIcon(getClass().getResource("wyp.png"));
JButton wype=new JButton(wyp);
Icon zer = new ImageIcon(getClass().getResource("zerow.png"));
JButton zerow=new JButton(zer);
Icon sum = new ImageIcon(getClass().getResource("sum.png"));
JButton suma1=new JButton(sum);
Icon avra = new ImageIcon(getClass().getResource("srednia.png"));
JButton avg1=new JButton(avra);
Icon mini = new ImageIcon(getClass().getResource("min.png"));
JButton min1=new JButton(mini);
Icon maxi = new ImageIcon(getClass().getResource("max.png"));
JButton max1=new JButton(maxi);
Icon pom = new ImageIcon(getClass().getResource("inf.png"));
JButton pom1=new JButton(pom);
JLabel jl1=new JLabel("Wprowadź liczbę");
JLabel jl2=new JLabel("Numer Wiersza");
JLabel jl3=new JLabel("Numer kolumny");
JTextField liczba1=new JTextField(); //slidery i textfieldy
JSlider wiersz=new JSlider(0, 4, 0); //do wprowadzania danych
JSlider kolumna=new JSlider(0, 4, 0);
String[] columns123 = {"0", "1", "2", "3","4"};
String[][] data = {{"0.0","0.0","0.0","0.0","0.0"},
{"0.0","0.0","0.0","0.0","0.0"},
{"0.0","0.0","0.0","0.0","0.0"},
{"0.0","0.0","0.0","0.0","0.0"},
{"0.0","0.0","0.0","0.0","0.0"}};
JTable jt=new JTable(data, columns123); //tworzenie tablicy 5x5
JScrollPane jsp=new JScrollPane(jt);
JTableHeader header = jt.getTableHeader();
JButton dod=new JButton("Wypełnij");
JButton zero=new JButton("Zerowanie"); //przyciski opcji
JButton zapis=new JButton("Zapis");
Załączam jeszcze screena z odpalonym programem.
Z góry dzieki za pomoc.
String[] items = {"--","Suma","Średnia","MIN","MAX"};
JComboBox combo=new JComboBox(items);
JButton cbutton=new JButton("Oblicz"); //combobox z
JLabel cl=new JLabel("Obliczenia"); //obliczeniami
JLabel rezu=new JLabel("Uzyskany Rezultat");
JTextArea rtext=new JTextArea();
JLabel info=new JLabel("Info:");
JTextField itext=new JTextField("Start aplikacji");
JLabel status=new JLabel("Status:"); //tworzenie paska stanu
JTextField stext=new JTextField("ON");
JFrame error=new JFrame();
JButton ok=new JButton("OK"); //tworzenie okna error
JLabel blad=new JLabel("Podałeś złą liczbę");
int i,j,k,l;
String cyfra1="0";
boolean stan1=true;
String stan2="..."; //wywolanie zmiennych
float tabela[][];
double wynik;
boolean isNumeric=false;
public Main()
{
Dzialanie o = new Dzialanie();
f.setVisible(true);
f.setSize(685,500);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //okreslenie podstawowych parametrow jframe
f.setTitle("Moje Okno");
f.setLayout(null);
f.setJMenuBar(jmb);
jmb.add(file);
file.add(zap2); //menu pliku
file.addSeparator();
file.add(exit);
zap2.addActionListener(o);
exit.addActionListener(o);
jmb.add(view); //menu widoku
view.add(stanu);
stanu.addActionListener(o);
jmb.add(obl);
obl.add(suma);
suma.addActionListener(o);
obl.addSeparator();
obl.add(avg);
avg.addActionListener(o); //menu obliczen
obl.addSeparator();
obl.add(min);
min.addActionListener(o);
obl.addSeparator();
obl.add(max);
max1.addActionListener(o);
jmb.add(help);
help.add(hitem1);
hitem1.addActionListener(o); //menu pomocy
f.add(jl1);
jl1.setBounds(5, 55, 400, 20);
f.add(liczba1);
liczba1.setBounds(110, 55, 100, 20); //pole na liczby
liczba1.addActionListener(o);
f.add(jl2);
jl2.setBounds(225, 55, 100, 20);
f.add(wiersz);
wiersz.setBounds(325, 55, 100, 45); //slider od wierszy
wiersz.setMajorTickSpacing(1);
wiersz.setPaintLabels(true);
wiersz.setPaintTicks(true);
f.add(jl3);
jl3.setBounds(450, 55, 100, 20);
f.add(kolumna);
kolumna.setBounds(545, 55, 100, 45); //slider od kolumn
kolumna.setMajorTickSpacing(1);
kolumna.setPaintLabels(true);
kolumna.setPaintTicks(true);
jt.setPreferredScrollableViewportSize(new Dimension(450, 63));
jt.setBounds(10,140,500,80);
f.add(header);
jt.getTableHeader().setReorderingAllowed(false);
header.setVisible(true);
header.setBounds(10, 120,500,20); //dodanie tabeli do jframe
jt.setFillsViewportHeight(true);
f.add(jt);
f.add(dod);
dod.setBounds(540, 130, 100, 20);
dod.addActionListener(o);
f.add(zero);
zero.setBounds(540, 160, 100, 20); //przycisk do zerowania
zero.addActionListener(o);
f.add(zapis);
zapis.setBounds(540, 190, 100, 20); //przycisk do zapisu
zapis.addActionListener(o);
f.add(combo);
combo.setBounds(100, 240, 150, 20);
f.add(cl);
cl.setBounds(15, 240, 100, 20); //dodanie combobox
f.add(cbutton);
cbutton.setBounds(260, 240, 100, 20);
cbutton.addActionListener(o);
f.add(rezu);
rezu.setBounds(275, 275, 150, 20);
f.add(rtext);
rtext.setBounds(10, 300, 650, 100); //dodanie pola rezultatow
Border border = BorderFactory.createLineBorder(Color.BLACK);
rtext.setBorder(border);
rtext.setEditable(false);
f.add(info);
info.setBounds(10, 415, 50, 20);
f.add(itext);
itext.setBounds(40, 415, 285, 20);
itext.setEditable(false);
//dodanie paska statusu
f.add(status);
status.setBounds(330, 415, 50, 20);
f.add(stext);
stext.setBounds(375, 415, 285, 20);
stext.setEditable(false);
tb.add(save);
save.addActionListener(o);
tb.add(qui);
qui.addActionListener(o);
tb.addSeparator();
tb.add(wype);
wype.addActionListener(o);
tb.add(zerow);
zerow.addActionListener(o); //dodanie ikon do toolbar
tb.add(suma1);
suma1.addActionListener(o);
tb.add(avg1);
avg1.addActionListener(o);
tb.add(min1);
min1.addActionListener(o);
tb.add(max1);
max1.addActionListener(o);
tb.addSeparator();
tb.add(pom1);
pom1.addActionListener(o);
error.setVisible(false);
error.setSize(300,200);
error.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //dodanie okna error
error.setTitle("ERROR");
error.setLayout(null);
error.add(ok);
ok.setBounds(80, 100, 50, 20);
ok.addActionListener(o);
error.add(blad);
blad.setBounds(100, 50, 150, 20);
f.setLayout(new BorderLayout());
f.getContentPane().add(tb, BorderLayout.NORTH); //dodanie toolbara do jframe
}
public class Dzialanie implements ActionListener {
public void actionPerformed(ActionEvent e){
/*if(e.getSource()==zap2 | e.getSource()==zapis | e.getSource()==save){
for(i=0;i<5;i++) {
for(j=0;j<5;j++) {
PrintWriter out = null; //niestety nie dziala
out.println(data[i][j]);
}
}
}
*/
if(e.getSource()==exit | e.getSource()==qui){ //funkcja wylaczajaca program
System.exit(EXIT_ON_CLOSE);
itext.setText("Zamykanie programu");
stext.setText("OFF");
}
if(e.getSource()==dod | e.getSource()==wype){ //wypelnianie tabeli
k=wiersz.getValue();
l=kolumna.getValue();
cyfra1=liczba1.getText();
jt.setValueAt(cyfra1,k,l);
itext.setText("Wypełniono kolumne:"+k+l);
data[k][l]=cyfra1;
}
if(e.getSource()==zero | e.getSource()==zerow){ //zerowanie tabeli
for(i=0;i<5;i++) {
for(j=0;j<5;j++) {
jt.setValueAt("0.0",i,j);
}
}
itext.setText("Zerowanie kolumn");
}
if(e.getSource()==stanu){
if(stan1==true){
info.setVisible(false);
itext.setVisible(false);
status.setVisible(false);
stext.setVisible(false);
stan1=false;
} //włączanie/wyłączanie paska statusu
else if(stan1==false){
info.setVisible(true);
itext.setVisible(true);
status.setVisible(true);
stext.setVisible(true);
stan1=true;
};
}
if(e.getSource()==cbutton){
stan2=combo.getSelectedItem().toString();
if(stan2=="--"){
rtext.setText("Wybierz działanie");}
if(stan2=="Suma"){
for(i=0;i<5;i++) { //sumowanie uzywajac combobox
for(j=0;j<5;j++) {
tabela[i][j]=Float.parseFloat(data[i][j]); //TUTAJ CO NIE TAK...
System.out.println(tabela[i][j]);
wynik=wynik+tabela[i][j];
rtext.setText("Suma kolumn="+wynik);
}
}
itext.setText("Obliczanie sumy");
}
else if(stan2=="Średnia"){
for(i=0;i<5;i++) {
for(j=0;j<5;j++) {
System.out.println(tabela); //liczenie sredniej uzywajac combobox
//tabela[i][j]=Float.parseFloat(data[i][j]);
wynik=(wynik+tabela[i][j])/25;
rtext.setText("Średnia kolumn="+wynik);
}
}
itext.setText("Obliczanie średniej");
}
else if(stan2=="MIN"){
for(i=0;i<5;i++) {
for(j=0;j<5;j++) {
System.out.println(tabela);
//tabela[i][j]=Float.parseFloat(data[i][j]); //min uzywajac combobox
wynik=wynik=Math.min(wynik, tabela[i][j]);
rtext.setText("Minimalna wartość="+wynik);
}
}
itext.setText("Obliczanie minimum");
}
else if(stan2=="MAX"){
for(i=0;i<5;i++) {
for(j=0;j<5;j++) {
System.out.println(tabela);
//tabela[i][j]=Float.parseFloat(data[i][j]); //max uzywajac combobox
wynik=wynik=Math.max(wynik, tabela[i][j]);
rtext.setText("Maksymalna wartość="+wynik);
}
}
itext.setText("Obliczanie maximum");
};
}
if(e.getSource()==suma | e.getSource()==suma1){
for(i=0;i<5;i++) {
for(j=0;j<5;j++) {
System.out.println(tabela);
//tabela[i][j]=Float.parseFloat(data[i][j]); //sumowanie uzywajac toolbar/menu
wynik=wynik+tabela[i][j];
rtext.setText("Suma kolumn="+wynik);
}
itext.setText("Obliczanie sumy");
}
}
if(e.getSource()==avg | e.getSource()==avg1){
for(i=0;i<5;i++) {
for(j=0;j<5;j++) {
System.out.println(tabela);
//tabela[i][j]=Float.parseFloat(data[i][j]); //liczenie sredniej uzywajac toolbar/menu
wynik=(wynik+tabela[i][j])/25;
rtext.setText("Średnia kolumn="+wynik);
}
}
itext.setText("Obliczanie średniej");
}
if(e.getSource()==min | e.getSource()==min1){
for(i=0;i<5;i++) {
for(j=0;j<5;j++) {
System.out.println(tabela);
// tabela[i][j]=Float.parseFloat(data[i][j]); //min uzywajac toolbar/menu
wynik=wynik=Math.min(wynik, tabela[i][j]);
rtext.setText("Minimalna wartość="+wynik);
}
}
itext.setText("Obliczanie minimum");
}
if(e.getSource()==max | e.getSource()==max1){
for(i=0;i<5;i++) {
for(j=0;j<5;j++) {
System.out.println(tabela);
// tabela[i][j]=Float.parseFloat(data[i][j]); //max uzywajac toolbar/menu
wynik=wynik=Math.max(wynik, tabela[i][j]);
rtext.setText("Maksymalna wartość="+wynik);
}
}
itext.setText("Obliczanie maximum");
}
if(e.getSource()==hitem1 | e.getSource()==pom1){
JFrame oknopomoc=new JFrame();
oknopomoc.setVisible(true);
oknopomoc.setSize(300,200);
oknopomoc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //wywołanie okna informacji
oknopomoc.setTitle("Informacje");
oknopomoc.setLayout(null);
JTextArea informacje=new JTextArea();
informacje.setEditable(false);
informacje.setBounds(5, 5, 275, 150);
oknopomoc.add(informacje);
informacje.setText("");
}
}
}
}
Dołączam screen z wyglądem programu po odpaleniu.
Z góry dzięki za pomoc.
|
|
| |
Goto Forum:
Current Time: Tue Mar 19 06:18:07 GMT 2024
Powered by FUDForum. Page generated in 0.02760 seconds
|