Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [java]вывод на экран (дерево) ошибка 
:(
    Опции темы
ArniLand
Дата 23.9.2010, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



1. При вызове функции в main выдает ошибку на что не правильный список параметров, когда добавляю параметры выдает ошибку not a statement. 
2. При вызове функции вывода обхода, на экран ничего не выводит.
Помогите пожалуйста правильно организовать вывод на экран, если можете подправьте код, завтра сдавать нужно, а я уже запутался немного с программой. Нужно чтобы на экран выводилось - список студентов,  обход в ширину и удаление студентов которые служат в армии.


Код

package btree;
import java.io.*;
class BinaryTree {
    public Node root;
    public BinaryTree()

    {  root = null;  }

    public void insert(int data, String name, String surname,
            String course, String ticket, String army){

        Node n = new Node(data, name, surname, course, ticket, army);
        if (root == null){
            root = n;
        }
        else {
         Node current = root;
         Node parent;
         while(true) {
             parent = current;
             if(data < current.data){
                 current = current.left;
                }
                if (current == null) {
                    parent.left = n;
                    return;
                }
          else {
                current = current.right;
                if(current == null){
                    parent.right = n;
                    return;

                }
              }
           }
       }
    }



       public Node find(int key){
       Node current = root;

       while(current.data != key){
           if(key < current.data){
               current = current.left;
           }
           else {
                current = current.right;
           }

           if(current == null) {
               return null;
           }

       }
       return current;
    }
      public void preorderPrint(Node root) {
          if (root == null) {
              System.out.println(root.data + "");
              preorderPrint(root.left);
              preorderPrint(root.right);

          }
      }

      public boolean delete(int key) {
          Node current = root;
          Node parent = root;
          boolean isLeft = true;

          if (current.army == "Yes" && current.course == "3") {
              while(current.data != key) {
                  parent = current;
                  if(key < current.data) {
                      isLeft = true;
                      current = current.left;
                  }
                  else {
                  if(current == null) {
                    return false;
                    }
                  }
              }

              if(current.left == null && current.right == null) {
                  if (current == root)
                      root = null;

                   else if(isLeft)
                     parent.left = null;
                    else
                      parent.right = null;

              }

               else if (current.right == null)
                  if( current == root)
                      root = current.left;
                  else if(isLeft)
                      parent.left = current.left;
                  else
                      parent.right = current.right;

              else if(current.left == null)
                  if(current == root)
                      root = current.right;
                  else if(isLeft)
                      parent.left = current.right;
                  else
                      parent.right = current.right;

              else {
                  Node successor = getSuccessor(current);

                  if(current == root)
                      root = successor;
                  else if(isLeft)
                      parent.left = successor;
                  else
                      parent.right = successor;

                  successor.left = current.left;

              }
            
          }

          return true;

          


      }

      private Node getSuccessor(Node delNode)
      {
      Node successorParent = delNode;
      Node successor = delNode;
      Node current = delNode.right;
      while(current != null)
         {
         successorParent = successor;
         successor = current;
         current = current.left;
         }

      if(successor != delNode.right)
         {
         successorParent.left = successor.right;
         successor.right = delNode.right;
         }
      return successor;
      }

      public void traverseOut() {
          System.out.println("обход в ширину: + ");
          preorderPrint(root);
      }
      public void displayNode(int data, String name, String surname,
            String course, String ticket, String army) {  //функция вывода
            System.out.println("--");
            System.out.print(data);
            System.out.print("Фамилия");
            System.out.println(surname);
            System.out.print("Имя");
            System.out.println(name);
            System.out.print("Курс");
            System.out.println(course);
            System.out.print("Билет");
            System.out.println(ticket);
            System.out.print("Армия");
            System.out.println(army);
            System.out.println("--");
        }

   
      
}

class bTreeApp {
    public static void main(String[] args ) {
        BinaryTree theTree = new BinaryTree();
        theTree.insert(1, "vasa", "pupkin", "3", "456987", "Yes");
        theTree.insert(2, "ivan", "ivanov", "2", "789898", "No");
        theTree.insert(4, "dima", "vengel", "3", "7896546", "No");

        System.out.println("Cтуденты" + theTree.displayNode(int data, String name, String surname,
            String course, String ticket, String army) ); // ругается на эту строку
        theTree.traverseOut();//вызов вывода


        
       



    }
}
 
 class Node {
        Node left;
        Node right;
        int data;
        String name;
        String surname;
        String course;
        String ticket;
        String army;
        public Node(int data, String name, String surname, String course, String ticket, String army){
            this.data = data;
            this.name = name;
            this.surname = surname;
            this.course = course;
            this.ticket = ticket;
            this.army = army;
        }
        
}



Это сообщение отредактировал(а) ArniLand - 24.9.2010, 10:54
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

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


 




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


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

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