2017-04-19 21 views
0

私は現在どのようにプログラムするのか学習しており、機能を追加しようとしているプログラムがあります。私はあなたが適切に実行するために必要なコードがどこに行く必要があるか教えていただけたらと思っていました。これは、再びjava - プログラムの実行

int countLess (BinarySearchTree<Golfer> tree, Golfer maxValue) 
{ 
    BSTNode<Golfer> maxNode = tree.root; 
    BSTNode<Golfer> minNode = tree.root; 
    int count = 0; 
    //Traverse Right Sub tree 
    while(maxNode!=null) 
    { 
     if(maxNode.getInfo() < maxValue){ 
      count ++; 
     } 
     maxNode = maxNode.getRight(); 

    } 

    //Traverse Left subtree 
    while(minNode!=null) 
    { 
     if(minNode.getInfo() < maxValue){ 
      count ++; 
     } 
     minNode = minNode.getLeft(); 
    } 

    return count; 

} 

Golfer min(BinarySearchTree<Golfer> tree) { 
    BSTNode<Golfer> minNode = tree.root; 
    if (minNode == null) { 
     return null; 
    } 
    while (minNode.getLeft() != null) { 
     minNode = minNode.getLeft(); 
    } 
    return minNode.getInfo(); 
} 

感謝を追加するために必要なコードです

//--------------------------------------------------------------------- 
// GolfApp2.java       
// 
// Allows user to enter golfer name and score information. 
// Displays information ordered by score. 
//---------------------------------------------------------------------- 
import java.util.Scanner; 
import ch08.trees.*; 
import support.*;  // Golfer 

public class GolfApp2 
{ 
    public static void main(String[] args) 
    { 
    Scanner conIn = new Scanner(System.in); 

    String name;   // golfer's name 
    int score;   // golfer's score 

    BSTInterface<Golfer> golfers = new BinarySearchTree<Golfer>(); 
    Golfer golfer; 
    int numGolfers; 

    String skip; // Used to skip rest of input line after reading integer 

    System.out.print("Golfer name (press Enter to end): "); 
    name = conIn.nextLine(); 
    while (!name.equals("")) 
    { 
     System.out.print("Score: "); 
     score = conIn.nextInt(); 
     skip = conIn.nextLine();  

     golfer = new Golfer(name, score); 
     golfers.add(golfer); 

     System.out.print("Golfer name (press Enter to end): "); 
     name = conIn.nextLine(); 
    } 
    System.out.println(); 
    System.out.println("The final results are"); 

    numGolfers = golfers.reset(BinarySearchTree.INORDER); 
    for (int count = 1; count <= numGolfers; count++) 
    { 
     System.out.println(golfers.getNext(BinarySearchTree.INORDER)); 


    } 
    } 
} 

ありがとうございました。助けを歓迎します

+0

あなたが追加したいコードは、単に機能は同じクラスにそれらを追加し、いつでも好きなときにそれらを呼び出します。 –

+0

学習する最善の方法は、うまくいかないことを試し、何がうまくいかなかったのかを推測することです。あなたの変更をバックアップする限り、実験に害はありません。 – Tashi

+0

これは新しい動作(メソッド)なので、mainメソッドの後に追加し、正しい引数を渡すだけで直接呼び出すことができます –

答えて

0

あなたのGolfApp2クラス内にコードを追加してください。これは、GolfApp2オブジェクトでどこでも呼び出せる関数です。

public class GolfApp2 { 
    public static void main(String[] args) 
    { 
    //Code 
    // call thoes methods here by creating object to the class 
    GolfApp2 obj = new GolfApp2(); 
    int returnedValue = obj.countLess (param1,param2); 
    } 
    int countLess (BinarySearchTree<Golfer> tree, Golfer maxValue) 
    { 
    //code 
    } 
    Golfer min(BinarySearchTree<Golfer> tree) { 
    //code 
    } 

}

関連する問題