2 Scanner Scanner scanner new Scanner12 12 4

  • Slides: 23
Download presentation

2 Scanner המחלקה . • סורק טקסט פשוט אשר יודע לחלץ טיפוסים פרימיטיביים ומחרוזות

2 Scanner המחלקה . • סורק טקסט פשוט אשר יודע לחלץ טיפוסים פרימיטיביים ומחרוזות ( מספר וכדומה , • "שובר" את הקלט לרכיביו השונים )מילה • בעת היצירה מקבל כפרמטר מהיכן לקרוא את הקלט . יכול לאפשר לנו לקרוא קלט מהמשתמש , • בפרט Scanner scanner = new Scanner("12 12. 4 the longnand winding road. . . ") int an. Int = scanner. next. Int(); //12 float a. Float = scanner. next. Float(); //12. 4 String a. String = scanner. next(); //the String a. Line = scanner. next. Line(); // long String b. Line = scanner. next. Line(); //and winding road. . . https: //docs. oracle. com/javase/8/docs/api/index. html? java/util/Scanner. html

3 scanner ב delimiter שימוש ב String input = "1 fish 2 fish red

3 scanner ב delimiter שימוש ב String input = "1 fish 2 fish red fish blue fish "; Scanner s = new Scanner(input). use. Delimiter(" fish "); while (s. has. Next()) System. out. println(s. next()); s. close(); Output: 1 2 red blue הדיפולטי מבצע delimiter ה , הפרדה על תוים לבנים )רווחים . ( טאבים ועוד , ירידות שורה

7 ' שלב א public class Translator. Engine 1 { public static void main(String[]

7 ' שלב א public class Translator. Engine 1 { public static void main(String[] args) { String Translated. Text = Translate. execute("Hello", "English", "French"); System. out. println(Translated. Text); } } שנקראת מן , מתודה סטטית ניתן. (Translate) המחלקה להניח שקיים מימוש של בפרוייקט שלנו Translate

8 אינטראקציה עם המשתמש - ' שלב ב • קלט מהמשתמש יינתן בשורת הפקודה

8 אינטראקציה עם המשתמש - ' שלב ב • קלט מהמשתמש יינתן בשורת הפקודה המילה לתרגום : • פרמטר ראשון שפת המקור : • פרמטר שני שפת היעד : • פרמטר שלישי public class Translator. Engine 2 { public static void main(String[] args) { String Translated. Text = Translate. execute(args[0], args[1], args[2]); System. out. println(Translated. Text); } }

9 קלט אינטרקטיבי ? • מה אם נרצה להעביר קלט במהלך ריצת התוכנית >java

9 קלט אינטרקטיבי ? • מה אם נרצה להעביר קלט במהלך ריצת התוכנית >java Translator. Engine Enter your input: Hello English French Your translation is: Bonjour

11 דוגמא standard input - קרא מ Scanner s = new Scanner(System. in); System.

11 דוגמא standard input - קרא מ Scanner s = new Scanner(System. in); System. out. println("enter line: "); while (s. has. Next()) System. out. println(s. next()); s. close(); הבא Token - קרא את ה ? מתי הקוד הזה יעצור

12 Scanner - שלב ג' – שימוש בסיסי ב <word> <source-lang> <target- : נבחר

12 Scanner - שלב ג' – שימוש בסיסי ב <word> <source-lang> <target- : נבחר את פורמט הקלט lang> , לדוגמא public class Translator. Engine 3 { hello English French : הקלט bonjour : הפלט public static void main(String[] args) { Scanner s = new Scanner(System. in); String[] fragments = s. next. Line(). split(" "); String Translated. Text = Translate. execute(fragments[0], fragments[1], fragments[2]); System. out. println(Translated. Text); s. close(); } } n n

16 וקריאה מקובץ Scanner – ' שלב ד המסלול לקובץ יהיה )שדה( קבוע של

16 וקריאה מקובץ Scanner – ' שלב ד המסלול לקובץ יהיה )שדה( קבוע של המחלקה public class Translator. Engine 4 { private static final String FILE_NAME = "Software 1" + File. separator + "example. txt"; public static void main(String[] args) throws Exception { Scanner s = new Scanner(new File(FILE_NAME)); String[] fragments = s. next. Line(). split(" "); String Translated. Text = Translate. execute(fragments[0], fragments[1], fragments[2]); System. out. println(Translated. Text); s. close(); } }

18 שלב ה' – קלטים מרובים § מספר שורות קלט מקובץ has. Next. Line

18 שלב ה' – קלטים מרובים § מספר שורות קלט מקובץ has. Next. Line - שימוש ב , נקרא מספר קלטים עד לסוף הקובץ public class Translator. Engine 5 { private static final String FILE_NAME = "Software 1" + File. separator +"example 5. txt"; public static void main(String[] args) throws Exception { Scanner s = new Scanner(new File(FILE_NAME)); while (s. has. Next. Line()) { String[] fragments = s. next. Line(). split(" "); System. out. println(Translate. execute(fragments[0], fragments[1], fragments[2])); } s. close(); } } n

20 שלב ו' – תרגום פסקה public class Translator. Engine 6 { private static

20 שלב ו' – תרגום פסקה public class Translator. Engine 6 { private static final String FILE_NAME = "Software 1" + File. separator +"example 6. txt"; public static void main(String[] args) throws Exception { Scanner s = new Scanner(new File(FILE_NAME)); s. use. Delimiter("#"); String src. Language = s. next(); String dest. Language = s. next(); English#French#Hello world! This program works. s. skip("#"); String text = ""; Bye. while (s. has. Next. Line()) { text += s. next. Line() + ' '; } System. out. println(Translate. execute(text, src. Language, dest. Language)); s. close(); } }