Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail


Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы
Старый 17.07.2009, 10:40   #1
java_java_java
 
Регистрация: 03.07.2009
Сообщений: 6
По умолчанию Квадратное уравнение!!!

Помогите пожалуйтса дописать код программы квадратного уравнения!!!Чтоб при нажатии на кнопку выводил результат!!!В заранее блогадарен!!!

Код:
Код:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class QuadraticEquation extends JFrame
{
    JLabel jlabel;
    JLabel jlabel2;
    JLabel jlabel3;
    JLabel jlabel4;
    JTextField jtfield;
    JTextField jtfield2;
    JTextField jtfield3;
    JButton jbutton;

    double a;
    double b;
    double c;
    double D;
    double x1;
    double x2;


    
    public QuadraticEquation(String str)
    {
      super(str);

        Container c = getContentPane();
        c.setLayout(null);

        JLabel jlabel = new JLabel("Введите значение a :");
        jlabel.setBounds(new Rectangle(10,5,130,30));
        c.add(jlabel);

        JLabel jlabel2 = new JLabel("Введите значение b :");
        jlabel2.setBounds(new Rectangle(170,5,130,30));
        c.add(jlabel2);

        JLabel jlabel3 = new JLabel("Введите значение c :");
        jlabel3.setBounds(new Rectangle(330,5,130,30));
        c.add(jlabel3);
    
        JLabel jlabel4 = new JLabel();
        jlabel4.setBounds(new Rectangle(0,80,494,50));
        c.add(jlabel4);

        JTextField jtfield = new JTextField();
        jtfield.setBounds(new Rectangle(137,10,25,22));
        c.add(jtfield);

        JTextField jtfield2 = new JTextField();
        jtfield2.setBounds(new Rectangle(297,10,25,22));
        c.add(jtfield2);

        JTextField jtfield3 = new JTextField();
        jtfield3.setBounds(new Rectangle(457,10,25,22));
        c.add(jtfield3);

        JButton jbutton = new JButton("Ответ");
        jbutton.setBounds(new Rectangle(225,52,67,20));
        c.add(jbutton);

        jbutton.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {

    {
       D = b * b - 4 * a * c;
       System.out.println("Дискриминант = " + D);

       if(D <= 0);
        {
          x1 = -b + Math.sqrt(D) / 2 * a;
          System.out.println("Ответ : x1 = " + x1);

          x1 = -b - Math.sqrt(D) / 2 * a;
          System.out.println("Ответ : x1 = " + x1);
        }

        System.out.println("Решений нет");
    }
            }
        });

        this.setSize(500,150);
        this.setVisible(true);
        this.setResizable(false);
        this.setLocationRelativeTo(null);
        this.setTitle("Квадратное_Уравнение");


    }
   public static void main(String args [])
    {
       QuadraticEquation f = new QuadraticEquation("Квадратное_Уравнение");
       f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); 
    }
}

Последний раз редактировалось alexinspir; 09.10.2009 в 22:38.
java_java_java вне форума
Старый 17.07.2009, 18:42   #2
alexinspir
Новичок
Джуниор
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

несколько смущен использованием System.out.println() в JFrame

я бы просто писал в лейбл, чемнить вроде такого: (*Label).setText();
[B]ромик0:[/B] Cколько получают здешние модераторы?
[B]pu4koff:[/B] У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума
Старый 30.07.2009, 01:02   #3
Леди Кошка
Пользователь
 
Регистрация: 02.03.2009
Сообщений: 47
По умолчанию

Ясно все с Вами, юноша. Ошибка при компиляции - double c;, Container c = getContentPane();, D = b * b - 4 * a * c; - Вы вот тут откуда берете значение с - это все же дабла или контейнер? ну и с if(D <= 0); разберитесь - что именно Вы хотели сказать виртуальной машине Java, что заставляете её считать?

Последний раз редактировалось Леди Кошка; 30.07.2009 в 01:48.
Леди Кошка вне форума
Старый 13.08.2009, 17:35   #4
Angfal
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 12
По умолчанию

Список недостатков:
  1. Переименнуй контейнер, его имя совпадает с переменной класса "с".
  2. Значения переменных класса "a", "b" и "c" никак не инициализируются: повесь на JTextField'ы экшены, которые будут устанавливать значение этих переменных или делай это при нажатии кнопки.
  3. Не правильная формула вычисления дискриминанта.
  4. И собственно, вывод результата в консоль - не самый лучший вариант в оконном приложении.
Angfal вне форума
Старый 17.08.2009, 17:52   #5
alexinspir
Новичок
Джуниор
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от Angfal Посмотреть сообщение
Не правильная формула вычисления дискриминанта.
http://ru.wikipedia.org/wiki/%D0%94%...B0%D0%BD%D1%82

ничего неправильного в формуле не вижу.
многие описаные вами недостатки, были уже озвучены мной и LadyCat
[B]ромик0:[/B] Cколько получают здешние модераторы?
[B]pu4koff:[/B] У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.

Последний раз редактировалось alexinspir; 17.08.2009 в 17:55.
alexinspir вне форума
Старый 19.08.2009, 11:30   #6
Angfal
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 12
По умолчанию

Озвучены, я просто обобщил...

И извиняюсь, не дескриминанта, а корней уравнения...
Angfal вне форума
Старый 09.10.2009, 18:16   #7
Appmen
Пользователь
 
Регистрация: 09.10.2009
Сообщений: 56
По умолчанию

Можно вопрос: никого не насторожила эта часть программы
Код:
jbutton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{ 

}
})

Последний раз редактировалось alexinspir; 09.10.2009 в 22:01. Причина: тег CODE!
Appmen вне форума
Старый 09.10.2009, 22:02   #8
alexinspir
Новичок
Джуниор
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от Appmen Посмотреть сообщение
Можно вопрос: никого не насторожила эта часть программы
Код:
jbutton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{ 

}
})
а чем она должна насторожить?
alexinspir вне форума
Старый 09.10.2009, 22:35   #9
Appmen
Пользователь
 
Регистрация: 09.10.2009
Сообщений: 56
По умолчанию

а тем, что кнопка не реагирует на нажатие
тут {} как бы должны быть действия, которые выполняются при нажатии кнопки
Appmen вне форума
Старый 09.10.2009, 22:40   #10
alexinspir
Новичок
Джуниор
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от Appmen Посмотреть сообщение
а тем, что кнопка не реагирует на нажатие
тут {} как бы должны быть действия, которые выполняются при нажатии кнопки
если вы о коде автора темы - то код кривой.
alexinspir вне форума
Закрытая тема

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уравнение Paul_AG Общие вопросы C/C++ 19 10.05.2009 22:50
Квадратное уравнение, программа не линкуется Dimoff80 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 16.04.2009 22:37
! УРАВНЕНИЕ С МАТРИЦАМИ ! KulOle Паскаль, Turbo Pascal, PascalABC.NET 2 19.10.2008 12:53
Квадратное уравнение на Assembler PLETNEFF Помощь студентам 3 10.10.2007 09:06