public class Main {
static class Node {
int key, height = 1;
Node left, right;
Node(int key) { this.key = key; }
}
static int height(Node n) { return n == null ? 0 : n.height; }
static int balance(Node n) { return n == null ? 0 : height(n.left) - height(n.right); }
static void update(Node n) { n.height = 1 + Math.max(height(n.left), height(n.right)); }
static Node rotateRight(Node y) {
Node x = y.left;
y.left = x.right;
x.right = y;
update(y); update(x);
return x;
}
static Node rotateLeft(Node x) {
Node y = x.right;
x.right = y.left;
y.left = x;
update(x); update(y);
return y;
}
static Node insert(Node node, int key) {
if (node == null) return new Node(key);
if (key < node.key) node.left = insert(node.left, key);
else node.right = insert(node.right, key);
update(node);
int b = balance(node);
// Four imbalance cases: LL, RR, LR, RL
if (b > 1 && key < node.left.key) return rotateRight(node);
if (b < -1 && key > node.right.key) return rotateLeft(node);
if (b > 1) { node.left = rotateLeft(node.left); return rotateRight(node); }
if (b < -1) { node.right = rotateRight(node.right); return rotateLeft(node); }
return node;
}
static void inorder(Node n, StringBuilder sb) {
if (n == null) return;
inorder(n.left, sb);
sb.append(n.key).append(" ");
inorder(n.right, sb);
}
public static void main(String[] args) {
Node root = null;
int[] keys = {10, 20, 30, 40, 50, 25};
for (int k : keys) root = insert(root, k);
StringBuilder sb = new StringBuilder();
inorder(root, sb);
System.out.println("Inorder: " + sb.toString().trim());
System.out.println("Root after rebalancing: " + root.key + " (height " + root.height + ")");
}
}
הריצו Java אונליין בדפדפן
עורך וקומפיילר Java אונליין וחינמי. כתבו Java בדפדפן, לחצו על הרצה, והקוד מתקמפל ורץ על JDK 24 (Eclipse Temurin) תוך שניות. בלי JDK מקומי, בלי Maven ובלי Gradle להגדיר מראש.
העורך בנוי על אותו מנוע של VS Code, כך שהדגשת תחביר של Java, השלמה אוטומטית וסימון שגיאות עובדים כולם. הקוד מתקמפל על JDK 24 עם Gson מותקן מראש לעבודה עם JSON. שימושי לחקירת streams, records ו-pattern matching או להכנה לראיון עבודה ב-Java, בלי להקים פרויקט Maven או Gradle.
מה הופך את עורך ה-Java האונליין הזה לשימושי
הרצת Java מיידית: כתבו קוד, לחצו על הרצה וקבלו פלט מקומפיילר ה-Java האונליין (JDK 24) תוך שניות.
הדגשת תחביר מלאה של Java, השלמה אוטומטית ושגיאות קומפילציה ברורות, עם אותו מנוע עורך של VS Code.
קלט stdin מחובר ל-Scanner(System.in), ל-BufferedReader(new InputStreamReader(System.in)) ול-System.in.read(). כולם קוראים מתיבת הקלט של העורך. בלי JDK, Maven או Gradle להגדיר אצלכם.
JDK 24 (Eclipse Temurin) עם Gson מותקן מראש: פענוח וסריאליזציה של JSON מהרגע הראשון, וגם streams, records ו-pattern matching.
מה אפשר לבנות בעורך ה-Java האונליין
Streams, Optional, records ו-pattern matching: ניבים מודרניים של JDK 24 שאפשר לנסות מתודה אחת בכל פעם.
תרגילי מבני נתונים, בעיות אלגוריתמים קצרות או קטע קוד מהיר של סריאליזציה ופענוח JSON עם Gson.
בעיות בסגנון ראיון עבודה שקוראות קלט עם Scanner. הזינו שורות stdin מתיבת הקלט ופתרו בעיות של מערכים, מחרוזות או עצים מתחילתן ועד סופן.
שאלות נפוצות על Java אונליין
עורך ה-Java האונליין חינמי?
כן, עורך ה-Java חינמי לשימוש. בלי הרשמה, בלי התקנה ובלי JDK להגדיר: פותחים את הדף ומקמפלים.
צריך JDK מותקן כדי להשתמש בקומפיילר ה-Java האונליין?
לא צריך להתקין כלום. לא צריך JDK, Maven או Gradle במחשב. קומפיילר ה-Java האונליין מריץ את הקוד על JDK 24 (Eclipse Temurin) ומחזיר את הפלט תוך שניות.
עורך ה-Java האונליין עובד בנייד ובמחשבי Chromebook?
כן. עורך ה-Java עובד בכל דפדפן מודרני, במחשב, בטאבלט או בנייד. זו אפשרות טובה להריץ Java אונליין ממחשב Chromebook, מ-iPad או ממחשב בבית הספר שבו אי אפשר להתקין JDK.
עורך ה-Java האונליין תומך ב-Scanner וב-System.in?
כן. Scanner sc = new Scanner(System.in); sc.nextInt(); ותבניות שמבוססות על BufferedReader קוראים את השורות שהקלדתם בדיוק כמו כשמריצים java Main מקומית ומקלידים בטרמינל. מתאים לבעיות בסגנון ראיון עבודה.
איך ממשיכים ללמוד Java אחרי שמנסים את העורך?
ערכו את קוד ה-Java לדוגמה, לחצו על הרצה ונסו שוב ושוב. כשתרצו משהו מובנה יותר, קורס ה-Java האינטראקטיבי של Coddy מכסה אובייקטים, ירושה, streams ועוד, עם תרגילים מעשיים.
כלים שימושיים ל-Java
כלים חינמיים בדפדפן שמשתלבים היטב עם עורך ה-Java אונליין - כולם חלק מ-Coddy.