Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помоги новичку с прогрой. Курсовая в универе.  
:(
    Опции темы
FireryWolf
Дата 1.3.2011, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 1.3.2011

Репутация: нет
Всего: нет



В универе дали задание написать програмку которая будет проверять IP адрес который ввели и выдавать класс данного IPи писать можно ли его использовать отталкиваясь от некоторых критерий(т.е есть исключения).

Начал я все это с 4 текстовых полей для 4 бит IP. Класс то показать было не сложно, а вот исключения ну ни как не получались....
Препод подсказал использовать StringTokenizer(ибо его проходили как раз).
Разбить введенный IP на 4 части через точку и задать и проверить все через IF.

Пришлось все переписать.

Собсно вот код: 
Код

package Assinment;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.StringTokenizer;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
/**
 *
 * @author Infernal Devil
 */
public class IPCheckUI extends JFrame implements ActionListener {
    private JTextField myfield1;
    private JLabel validLable;
    private JLabel ClassLabel;
public IPCheckUI() {
    //Setup window
         setSize(300,200);
         setTitle("IP Cheker");
         setDefaultCloseOperation(EXIT_ON_CLOSE);
// creating a palnel with text fields and label
    JPanel upperpanel = new JPanel();
    JLabel myJLabel = new JLabel("Input IP : ");
    myfield1 = new JTextField(8);
// creating button
    JButton mybutton = new JButton ("Check it IP");
    add(mybutton, BorderLayout.SOUTH);
// adding new lables for displaing Class and validation of IP
     ClassLabel = new JLabel();
     validLable = new JLabel();
// adding panels for class result chek and for ip validation to center
     JPanel centerpanel = new JPanel();
     centerpanel.add(ClassLabel);
     centerpanel.add(validLable);
     add(centerpanel,BorderLayout.CENTER);
// adding all fileds to panel and seting it
 upperpanel.add(myJLabel);
 upperpanel.add(myfield1);

 add(upperpanel,BorderLayout.NORTH);
//seting ut Action Listener that will check Class
    mybutton.addActionListener(
            new ActionListener(){
            int a,b,c,d;
   public void actionPerformed(ActionEvent e) {
       //Check of IP class
       StringTokenizer tok = new StringTokenizer(myfield1.getText());
       this.a = Integer.parseInt(tok.nextToken());
            //Check of exeptions 1bit
            IPCheckCode ipc = new IPCheckCode(a);
            int result = ipc.validate(a);
            switch(result) {
                case 1:
                    ClassLabel.setText("This is A Class ");
                  break;
                case 2:
                    ClassLabel.setText("This is B Class ");
                    break;
                case 3:
                    ClassLabel.setText("This is C Class ");
                    break;
                case 4:
                    ClassLabel.setText("This IP is invalid");
                    break;
            }
 }


    });
    setVisible(true);
}

    public void actionPerformed(ActionEvent e) {

    }
public static void main(String[] args){
   IPCheckUI app = new IPCheckUI();
    }

    }




Код

class IPCheckCode {
 private int IPChecker;
  private int a;
  private int b;
  private int c;
  private int d;

    IPCheckCode(int a) {
        IPChecker = a;
    }
  public int validate(int a) {
  if(a <= 127){
  return 1;
  }
  if (a <= 191){
  return 2;
  }
  if (a < 222){
  return 3;
  }
  if (a >= 223){
  return 4;
  }
  else
  return 0;
  }

}



Препод настаивает чтоб делали через 2 класса. 1 для интерфейса другой для IFов.

Подскажите пожалуйста как можно это грамотно сделать.
Ибо на седня (может перегорел уже) ну ничего не приходит на ум...


Заранее спасибо за ответ!

Это сообщение отредактировал(а) FireryWolf - 1.3.2011, 01:49
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0991 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.