الكلاس الأول
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.StringTokenizer;
class Main_ {
}
class TreeNode {
private String data;
private TreeNode parent, left, right;
TreeNode() {
}
public TreeNode(String n, TreeNode p) {
data = n;
parent = p;
left = null;
right = null;
}
public void setData(String n) {
data = n;
}
public String getData() {
return data;
}
public void setParent(TreeNode p) {
parent = p;
}
public TreeNode getParent() {
return parent;
}
public void setLeft(TreeNode l) {
left = l;
}
public TreeNode getLeft() {
return left;
}
public void setRight(TreeNode r) {
right = r;
}
public TreeNode getRight() {
return right;
}
public boolean hasLeft() {
if (getLeft() != null) {
return true;
} else {
return false;
}
}
public boolean hasRight() {
if (getRight() != null) {
return true;
} else {
return false;
}
}
public boolean isExternal() {
if (!hasLeft() && !hasRight()) {
return true;
} else {
return false;
}
}
}class Tree {
private TreeNode root;
private TreeNode location[] = new TreeNode[100];
private int index;
public TreeNode getroot() {
return root;
}
public Tree() {
root = null;
index = 0;
}
public void insertNode(String value) {
if (root == null) {
root = new TreeNode(value, null);
} else {
insert(value, root);
}
}
public void insert(String value, TreeNode n) {
if (value.compareToIgnoreCase(n.getData()) < 0) {
if (n.getLeft() != null) {
insert(value, n.getLeft());
} else {
System.out.println(" Inserted " + value + " to left of node "
+ n.getData());
n.setLeft(new TreeNode(value, n));
}
} else if (value.compareToIgnoreCase(n.getData()) > 0) {
if (n.getRight() != null) {
insert(value, n.getRight());
} else {
System.out.println(" Inserted " + value + "to right of node "
+ n.getData());
n.setRight(new TreeNode(value, n));
}
}
}
public TreeNode search(String value, TreeNode n) {
TreeNode left = null, right = null;
if (value.equals(n.getData())) {
return n;
} else if (value.compareToIgnoreCase(n.getData()) < 0
&& n.getLeft() != null) {
left = search(value, n.getLeft());
} else if (value.compareToIgnoreCase(n.getData()) > 0
&& n.getRight() != null) {
right = search(value, n.getRight());
}
if (left != null) {
return left;
} else if (right != null) {
return right;
} else {
return null;
}
}
public void printInorder() {
inorder(root);
System.out.println();
}
public void inorder(TreeNode n) {
if (n.getLeft() != null) {
inorder(n.getLeft());
}
System.out.print(n.getData() + " ");
if (n.getRight() != null) {
inorder(n.getRight());
}
}
public void printPostOrder() {
postOrder(root);
System.out.println();
}
public void postOrder(TreeNode n) {
if (n == null) {
return;
}
postOrder(n.getLeft());
postOrder(n.getRight());
System.out.print(n.getData() + " ");
}
public void printPreOrder() {
preOrder(root);
System.out.println();
}
public void preOrder(TreeNode n) {
if (n == null) {
return;
}
System.out.print(n.getData() + " ");
postOrder(n.getLeft());
postOrder(n.getRight());
}
public Tree fromfiletotree(File filname) {
Tree result = new Tree();
try {
Scanner inFile = new Scanner(new File(filname + ".txt"));
while (inFile.hasNext()) {
String newline = inFile.nextLine();
StringTokenizer st = new StringTokenizer(newline);
while (st.hasMoreTokens()) {
// if (n.equals(st.nextToken()))
{
result.insertNode(st.nextToken());
}
}
}
} catch (FileNotFoundException ex) {
System.out.println("Error finding file");
}
return result;
}
} import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
class ProjTest {
public static void main(String[] args) {
String word = null;
Scanner userInput = new Scanner(System.in);
Scanner[] input = new Scanner[3];
File[] files = new File[3];
System.out.println("A Simple Search Engine");
try {
files[0] = new File(userInput.next());
files[1] = new File(userInput.next());
files[2] = new File(userInput.next());
input[0] = new Scanner(files[0]);
input[1] = new Scanner(files[1]);
input[2] = new Scanner(files[2]);
for (int i = 0; i < input.length; i++) {
System.out.println("File " + (i + 1) + " contents are:");
while (input.hasNext()) // verify there are more words
// or will get an exception
{
word = input.next();
System.out.print(word + " ");
}
System.out.println();
input.close();
System.out.println("===============================");
}
String resultfiles = "";
for (int i = 0; i < 3; i++) {
Tree mytree = new Tree();
TreeNode result = new TreeNode();
// TreeNode result= new TreeNode();
mytree = mytree.fromfiletotree(files);
result = mytree.search(word, mytree.getroot());
if (result != null) {
if (resultfiles.compareToIgnoreCase(" ") > 0) {
resultfiles = resultfiles + " and " + files;
} else
resultfiles = resultfiles + files + "";
} else {
System.out.println(" ");
}
}
System.out.println(resultfiles);
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}
}
}out put
A Simple Search Engine
is
another
yet
is (يتعذر على النظام العثور على الملف المحدد) ملفات txtموجوده بس الكود مايشتغل عدل
بليز اللي يعرف وين الغلط بالكود يشرح لي لأن التسليم اليوم الساعة 12 ضروررررري :unsure: