• 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
95 wizyt
pytanie zadane 13 marca w Sprzęt komputerowy przez krystian1997 Użytkownik (740 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 (67,280 p.)
Nie używaj znaków diakrytycznych w kodzie.
komentarz 15 marca przez krystian1997 Użytkownik (740 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 (67,280 p.)
Czemu musisz uzywac? Chodzi mi o nazwy zmiennych.
komentarz 19 marca przez krystian1997 Użytkownik (740 p.)
W zmiennych akurat nie. Musiałem się pomylić

Podobne pytania

0 głosów
2 odpowiedzi 124 wizyt
pytanie zadane 6 marca w Java przez krystian1997 Użytkownik (740 p.)
0 głosów
2 odpowiedzi 87 wizyt
pytanie zadane 25 czerwca 2018 w Java przez Lampards Początkujący (270 p.)
0 głosów
1 odpowiedź 51 wizyt
pytanie zadane 25 czerwca 2018 w Java przez Lampards Początkujący (270 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

63,168 zapytań

109,404 odpowiedzi

228,555 komentarzy

42,702 pasjonatów

Przeglądających: 57
Pasjonatów: 3 Gości: 54

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.

...