[英]Unsuccessful Java Print Out of Red Black Binary Search Tree with Imports algs4.StdIn and util.Scanner in Visual Studio
我正在嘗試使用以下方法在紅黑二叉搜索樹的舊 java 程序中獲取樹的打印輸出(即 st.keys()):
導入 java.util.Scanner;
和
導入 edu.princeton.cs.algs4.StdIn;
導入 edu.princeton.cs.algs4.StdOut;
由於我不知道的原因,它似乎不起作用。 我也嘗試過調試。 在兩個版本的 main() 中,程序在第一個 for 循環之后停止。 在正確方向上的任何幫助都會很棒。
以下是帶有終端 output 的代碼的一些圖像: main() 的替代版本 main()的初始版本
初始 main() 使用 import edu.princeton.cs.algs4.StdIn:
public static void main(String[] args) {
RedBlackBST<String, Integer> st = new RedBlackBST<>();
for (int i = 0; !StdIn.isEmpty(); i++) {
String key = StdIn.readString();
st.put(key, i);
}
StdOut.println();
for (String s : st.keys())
StdOut.println(s + " " + st.get(s));
StdOut.println();
//StdOut.println(st.check());
st.delete("t");
System.out.println(st.keys());
}
使用 import java.util.Scanner 的替代 main():
public static void main(String[] args) {
RedBlackBST<String, Integer> st = new RedBlackBST<>();
Scanner input = new Scanner(System.in);
for(int i=0; input.nextLine() != ""; i++){
String key = input.nextLine(); // Use in.nextLine() for line-by-line reading
st.put(key, i);
System.out.println(input);
}
input.close();
for (String s : st.keys()){
System.out.println(s + " " + st.get(s));
System.out.println();
//StdOut.println(st.check());
st.delete("t");
System.out.println(st.keys());
}
}
端子Output(含用戶輸入):
/usr/lib/jvm/java-11-openjdk-amd64/bin/java -Dfile.encoding=UTF-8 @/tmp/cp_do3cqf4bgpqm37l69q1dfdnql.argfile RedBlackBST
t
a
l
l
t
r
e
e
s
^Z
[1]+ Stopped /usr/lib/jvm/java-11-openjdk-amd64/bin/java -Dfile.encoding=UTF-8 @/tmp/cp_do3cqf4bgpqm37l69q1dfdnql.argfile RedBlackBST
我用 ctrl+d 得到了正確的 output,我使用 ctrl+z 退出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.