JShell टूल में ऑपरेशन करते समय, यह रिटर्न में एक संदेश प्रदर्शित करता है (कमांड की सफलता, त्रुटि, और बनाए गए वेरिएबल का प्रकार और उसका मान)। इसे कमांड का उपयोग करके अनुकूलित किया गया है: "/set feedback"। यह कमांड वर्तमान में कॉन्फ़िगर किए गए रिटर्न के प्रकार के साथ-साथ उपलब्ध विभिन्न रिटर्न मोड को प्रदर्शित करता है।
jshell> /set feedback | /set feedback normal | | Available feedback modes: | concise | normal | silent | verbose
JShell में चार फीडबैक मोड उपलब्ध हैं जैसा कि नीचे सूचीबद्ध है:
1) /set feedback normal: यह डिफ़ॉल्ट JShell फीडबैक है। जब हम एक एक्सप्रेशन का मूल्यांकन करते हैं, तो JShell संबंधित परिणाम और एक आंतरिक वेरिएबल लौटाता है जिसमें मान संग्रहीत किया गया था। वेरिएबल निर्माण के मामले में, JShell वेरिएबल का नाम और संबंधित मान लौटाता है। डेटा टाइप (मेथड या क्लास) बनाते समय, JShell हमारे द्वारा बनाए गए टाइप को निर्दिष्ट करते हुए एक रिटर्न भेजता है।
jshell> /set feedback normal | Feedback mode: normal jshell> 5 + 5 $1 ==> 10 jshell> int i = 20 i ==> 20 jshell> int sum(int a, int b) { ...> return a + b; ...> } | created method sum(int,int)2) /set feedback verbose: यह सबसे सूचनात्मक फीडबैक मोड है। जब एक निर्देश का मूल्यांकन किया जाता है, तो यह संबंधित परिणाम के साथ-साथ एक आंतरिक वेरिएबल प्रदर्शित करता है जिसमें इसे असाइन किया गया है, और एक्सप्रेशन का प्रकार। वेरिएबल के निर्माण के लिए भी यही होगा। डेटा टाइप के निर्माण के संबंध में, रिटर्न normal मोड के समान है।
jshell> /set feedback verbose | Feedback mode: verbose jshell> 2 + 2 $1 ==> 4 | created scratch variable $1 : int jshell> String str = "Tutorix" str ==> "Tutorix" | created variable str : String jshell> int div(int a, int b) { ...> return a/b; ...> } | created method div(int,int)3) /set feedback concise: यह मोड न्यूनतम मात्रा में जानकारी प्रदर्शित करता है। जब एक एक्सप्रेशन का मूल्यांकन किया जाता है, तो यह हमें बनाए गए आंतरिक वेरिएबल के नाम के साथ-साथ एक्सप्रेशन के परिणाम के बारे में बताता है। दूसरी ओर, डेटा टाइप (वेरिएबल, मेथड, या क्लास) के निर्माण के संबंध में, JShell से कोई रिटर्न नहीं किया जाता है (जब तक कि कोड त्रुटि में न हो)।
jshell> /set feedback concise jshell> 2 + 2 $1 ==> 4 jshell> int i = 10; jshell> float y = "xyz"; | Error: | incompatible types: java.lang.String cannot be converted to float | float y = "xyz"; | ^---^
4) /set feedback silent: यह मोड कोई जानकारी प्रदर्शित नहीं करता है। जब हम मूल्यांकन के लिए एक एक्सप्रेशन दर्ज करते हैं, तो JShell परिणाम को एक आंतरिक वेरिएबल में संग्रहीत करता है लेकिन स्क्रीन पर संबंधित परिणाम को इंगित नहीं करता है। डेटा टाइप (वेरिएबल, मेथड, या क्लास) के निर्माण के लिए भी यही सच है। सब कुछ आंतरिक रूप से बिना किसी परिणाम को स्क्रीन पर प्रदर्शित किए किया जाता है (त्रुटि में ऑर्डर की घटना को छोड़कर)।
jshell> /set feedback silent -> 3+3 -> int x = 7 -> int sum(int x, int y) { >> return x + y; >> } -> double y = "abc"; | Error: | incompatible types: java.lang.String cannot be converted to double | double y = "abc"; | ^---^ ->