• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java błędy w cmd

0 głosów
102 wizyt
pytanie zadane 13 marca w Sprzęt komputerowy przez krystian1997 Użytkownik (880 p.)

Mam problem z kompilacją projektu javy w konsoli. W NetBeansie program działa bezbłędnie natomiast w wierszu polecenia już nie

package bmiGui;
import javax.swing.*;

import java.util.Scanner;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;

/**
 *
 * @author Krystian
 */
public class bmiGui extends JFrame implements ActionListener
{
    private JTextField tImie, tWiek, tWzrost, tWaga, tWynik;
    private JLabel lImie, lWiek, lWzrost, lWaga, lWynik, lCm, lKg, loutput, lInfo;
    private JButton bWyjście, bOblicz ,bNorma;
    private JTextArea output = new JTextArea(6,30);

    public bmiGui()
    {
        setSize(800,500);
        setTitle("Kalkulator BMI");
        setLayout(null);

        lImie = new JLabel("Podaj swoje imię:", JLabel.RIGHT);
        lImie.setBounds(30, 60, 100, 50);
        tImie = new JTextField();
        tImie.setBounds(200, 70, 150, 30);

        lWiek = new JLabel("Podaj swój wiek: ", JLabel.RIGHT);
        lWiek.setBounds(30, 110, 100, 50);
        tWiek = new JTextField();
        tWiek.setBounds(200, 120, 150, 30);

        lWzrost = new JLabel("Podaj swój wzrost:    ", JLabel.RIGHT);
        lWzrost.setBounds(30, 160, 120, 50);
        tWzrost = new JTextField();
        tWzrost.setBounds(200, 170, 150, 30);

        lWaga = new JLabel("Podaj swoją wagę:    ", JLabel.RIGHT);
        lWaga.setBounds(30, 220, 120, 50);
        tWaga = new JTextField();
        tWaga.setBounds(200, 230, 150, 30);

        loutput = new JLabel("Wynik:", JLabel.RIGHT);
        loutput.setBounds(339, 10, 100, 100);
        output = new JTextArea();
        output.setEditable(false);
        output.setBounds(400, 80, 300, 200);

        lInfo = new JLabel("Kalkulator BMI", JLabel.HEIGHT);
        lInfo.setBounds(650, 400, 130, 100);

        lCm = new JLabel("cm", JLabel.RIGHT);
        lCm.setBounds(30, 160, 340, 50);
        lKg = new JLabel("kg", JLabel.RIGHT);
        lKg.setBounds(30, 220, 336, 50);

        add(lImie);
        add(tImie);
        add(tWiek);
        add(lWiek);
        add(tWzrost);
        add(lWzrost);
        add(lCm);
        add(lKg);
        add(lWaga);
        add(tWaga);
        add(output);
        add(loutput);
        add(lInfo);

        bOblicz = new JButton("Oblicz BMI");
        bOblicz.setBounds(250, 300, 100, 50);
        bOblicz.addActionListener(this);

        bWyjście = new JButton("Wyjście z programu");
        bWyjście.setBounds(550, 380, 200, 60);
        bWyjście.addActionListener(this);

        bNorma = new JButton("Podaj normę");
        bNorma.setBounds(250, 360, 150, 50);
        bNorma.addActionListener(this);

        add(bOblicz);
        add(bWyjście);
        add(bNorma);
    }

    @Override
    public void actionPerformed(ActionEvent e) 
    {
        Object źródło = e.getSource();
        if (źródło==bWyjście)
        {
            dispose();
        }
        else if (źródło==bOblicz)
        {
            bOblicz.addActionListener(new Liczydlo());  
        }
        else if (źródło==bNorma)
        {
            output.setText("Indeks BMI powinień mieścić się w \n przedziale od 18 do 25 punktów. \n \n Wynik poniżej 18 punktów oznacza niedowagę. "
                    + "\n Nadwaga i otyłość zaczyna się od 25 punktów"
                    + "\n \n Jeżeli Twój wynik jest wyższy lub niższy \n powinieneś skonsultować się z lekarzem");
        }
    }

    public static void main(String[] args) 

    {
        bmiGui app = new bmiGui();
        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        app.setVisible(true);                        
    }

    class Liczydlo implements ActionListener
       {
           public void actionPerformed(ActionEvent ae)
           {
               output.setText("");
               String answer = "";
               int wiek = 0;
               double wzrost = 0.0;
               double waga = 0.0;
               boolean ok = true;
               try
               {
                   wiek = Integer.parseInt(tWiek.getText().trim());
                   waga = Double.parseDouble(tWaga.getText());
                   wzrost = Double.parseDouble(tWzrost.getText());           
               }           
               catch(Exception e)
               {
                   ok = false;
               }
               if(ok)
               {
                   double bmi = (waga/Math.pow(wzrost/100,2));
                   if(bmi<16)
                   {
                       output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
                                + "Twój indeks BMI jest skrajnie niski. \n Koniecznie skonsultuj się z lekarzem!");
                   }
                   else if(bmi<18)
                   {
                       output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
                            + "Niestety Twój indeks BMI jest za niski. \n Zmiana trybu życia i zdrowsza dieta powinna pomóc");
                   }
                   else if (bmi>25 && bmi<=30)
                   {
                       output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
                                + "Niestety Twój indeks BMI jest za wysoki. \n Zmień tryb życia, pora na odchudzanie!");
                   }
                   else if (bmi>30 && bmi<=35)
                   {
                       output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
                                + "Niestety Twój indeks BMI jest za za wysoki. \n Jest to I stopień otyłości! \n "
                                + "Powinieneś udać się do dietetyka");
                   }
                   else if (bmi>=35)
                   {
                       output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
                                + "Niestety Twój indeks BMI jest za za wysoki. \n Jest to II stopień otyłości! \n "
                                + "Natychmiast zmień swoją dietę! Wizyta u dietetyka jest konieczna");
                   }
                   else
                   {
                       output.setText("Witaj " +tImie.getText()+"!" + "\n\nTwój indeks BMI wynosi: " + bmi + " \n\n "
                                + "Gratulacje, Twój indeks BMI jest w normie!\n Tak trzymaj!");
                   }
               }
               else
               {
                   output.setText(tImie.getText()+"Podaj prawidłowe dane: ");
               }
           }
       }       
    }

2 odpowiedzi

+2 głosów
odpowiedź 15 marca przez Zibi Obywatel (1,200 p.)
Brakuje określenia kodowania znaków które w IDE jest robione automatycznie. Może je w konsoli podać następująco:

javac -encoding UTF8 bmiGui.java

Pamiętaj, że standardowo nazwy klas zaczynają się się dużą literą np. BmiGui
–2 głosów
odpowiedź 15 marca przez mbabane Maniak (70,700 p.)
Nie używaj znaków diakrytycznych w kodzie.
komentarz 15 marca przez krystian1997 Użytkownik (880 p.)
Jeśli chodzi o polskie znaki to muszę ich używać, jest do tego polecenie w konsoli i nie ma z tym problemów.
komentarz 15 marca przez mbabane Maniak (70,700 p.)
Czemu musisz uzywac? Chodzi mi o nazwy zmiennych.
komentarz 19 marca przez krystian1997 Użytkownik (880 p.)
W zmiennych akurat nie. Musiałem się pomylić

Podobne pytania

0 głosów
2 odpowiedzi 203 wizyt
pytanie zadane 6 marca w Java przez krystian1997 Użytkownik (880 p.)
0 głosów
2 odpowiedzi 94 wizyt
pytanie zadane 25 czerwca 2018 w Java przez Lampards Początkujący (270 p.)
0 głosów
1 odpowiedź 58 wizyt
pytanie zadane 25 czerwca 2018 w Java przez Lampards Początkujący (270 p.)
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

66,400 zapytań

113,160 odpowiedzi

239,542 komentarzy

46,663 pasjonatów

Przeglądających: 155
Pasjonatów: 0 Gości: 155

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...