java初心者です。
クラスでは、二分技について学習しました。
そして、今出されている課題が以下です。
新生児の名前とその名前の人数が載っているテキスト
例)太郎 40
花子 23
二郎 32
:
:
etc.
があります。それを元に、
入力した名前がリストに入っているかand何人なのかを、二分木探索を使って調べる
例)太郎を調べる
- リストに入っている場合→ 表示
例)太郎 40
- いない場合 → 終了
どちらの場合でも、何回ノードを訪問したか数を表示させる
つまり整理すると
1)テキスト内の名前と人数を読み込む
2)それらを二分木でソートする
3)探す名前を入力させる
4)ならびかえられた二分木内をinorder, preorder, またはpostorderを使い徘徊
5)a.見つけた場合 名前と人数を出力
b.みつからなかった場合 終了
6)a,bどちらでもノード訪問の回数を出力
ということです。
おそらく読み込みまでだけできていると思います。
なるべく初心者でも理解可能なコードを待っています。
お願いいたします。
(以下が私ができるところまでやって見たコードになります)
java
1 2import java.io.BufferedReader; 3import java.io.FileReader; 4import java.io.IOException; 5import java.io.*; 6import javax.swing.JOptionPane; 7public class HW5 8{ 9 public static void main(String[] args) throws IOException 10 { 11 readFile(); 12 String name; 13//名前を入力してもらう 14 name = JOptionPane.showInputDialog("Enter the name that you are lookig for. "); 15 BinaryTree(name); 16 System.out.println(name); 17 } 18 19 private static String readFile() //namae.txtから全ての名前と数字を読み込む 20 { 21 try{ 22 File file = new File("namae.txt"); 23 FileReader filereader = new FileReader(file); 24 int ch; 25 }catch(FileNotFoundException e){ 26 System.out.println(e); 27 }catch(IOException e){ 28 System.out.println(e); 29 }return null; 30 } 31 private static Node BinaryTree(String n){ 32//ノード作成 33 if(name==foundInText) 34 { 35//ここにif文を使いなまえがあるかどうかを調べる 36 System.out.println((char)ch); 37 }else 38 { 39 System.out.println("The name was not found. Enter anotehr name."); 40 } 41 } 42 43} 44
file
"name..txt"
Buffy 0
Nathaniel 64
Elyse 823
Shyann 771
Saige 942
Arno 0
Ciara 284
Flo 0
Yamilet 804
Clay 402
回答3件
あなたの回答
tips
プレビュー