Java тілінде Енгізу/Шығару

Енгізу/Шығару
Java-да сандарды енгізуді басқару мəліметтерді енгізуге қарағанда күрделі.Мəліметтерді енгізуге арналған Java тілінің барлық құралдары мықты болып табылады жəне берілген программалау тілі қарапайым альтернативті болмайтынымен келісуге тура келеді.
Енгізу ағындары. Ағын термині бір деректен түсетін(мысалы пернетақтадан немесе дискідегі файлдан) мəліметтер тізбегін бейнелеу үшін қолданылады.Java тілінде System.out

объектіне эквивалент болыпSystem.in объектісі табылады. System.in объекті алдын-алажариялауды талап етеді, оның классы болып InputStream абстрактілі класы табылады. System.in объекті InputStreamReader деп аталатын, нəтижесінде объект құрылатын басқа класқа конструктор параметрі ретінде берілуі . Сонымен керек қатар программаға пернетақтадан мəліметтер енгізуді буфер арқылы жүзеге асырған бəрінен ыңғайлырақ, сондықтан объект құрғаннан кейін оны BufferedReader класына берген дұрыс. Пернетақтадан енгізу үшін ағынды жариялау.
Import java.io.*;
BufferedReader stream = new BufferedReader
(new InputStreamReader(System.in));
Java.io пакетіберіледі.System.in объектісініңнегізіндеInputStreamReader объекті құрылады жəне оны stream идентификаторы меншіктелетін BufferedReader объектін құру үшін қолданады. Алдымен жоғарыда көрсетілген үш класс анықталатынjava.io пакетінің им-порты орындалады. Содан кейін BufferedReader класының барлық қасиеттеріне ие болатын, System.in объектімен байланысты жаңа ағын құрылады.Стандартты жариялау келесі түрде болады: BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); Мұнда in пернетақтамен байланысты ағын тәрізді анықталады. Оқу кезінде байқаусызда мәліметтердің жоғалуымен немесе оларда дұрыс емес форматтардың болуымен байланысты қателер жиі болуы мүмкін. Мұндай жағдайлар келеңсіздіктер деп аталады. Java әр әдісте барлық мүмкін болатын келеңсіздіктер көрсетілгенін талап етеді. Сондықтан мәліметтерді оқымас бұрын мәліметтердің оқылуы іске асырылатын әр әдісті жариялағаннан кейін лны шақыратын келеңсіздіктерді өңдемейтін кез келген әдіс үшін trows IOExeption командасын қосу керек.
Жолдарды оқу. Println əдісіне сəйкес, BufferedReader класы қолданушылардың назарына пернетақтадан енгізілетін жолға жолдық айнымалы мəтінін меншіктейтінreadLine əдісін береді.

Жолдарды оқу: String = stream.readLine(); — stream ағынынан String типті мəліметтер жолын алады жəне оны String жолына меншіктейді.
Java-да сандарды енгізу үшінDisplay жəне Stream екі класы өңделген.Display – мəліметтерді біруақытта енгізу мен шығаруды жүзеге асыруға мүмкіндік беретін кең тараған қолданушы интерфейсі. Stream – Java тілінің консолдарының, командалық терезе немесе мəтіндік файл көмегімен мəтіндік мəліметтерді енгізу-шығарудың қарапайым құралдары.

Display класы. Display класының интерфейсі екі тақтадан тұрады: сол жақ тақта мəліметтерді енгізу үшін, ал оң жақ тақта– мəліметтерді шығару үшін. Екі тақта да экранда біруақытта бейнеленеді. Олардың əрқайсысы тақтада сыймайтын,ақпараттарға енуді қамтамасыз ететін айналу жолағымен қамтылады.Терезенің төменгі бөлігінде екі батырма бар: Дайын жəне жабу. Біріншісі қолданушы мен программа арасындағы өзара əрекетті қамтамасыз етеді, ал екіншісі программа жұмысын аяқтауға жəне терезені жабуға мүмкіндік береді. Шығару тақтасы өз жұмысын үш этапта орындайды:
— Мəліметтерді енгізу қажеттілігі жайлы хабарламаның бейнеленуі.
— Қолданушы орындау керек əрекеттер жайлы ақпараттар шығару.

— Қолданушы енгізген мəндердің оқылуы,өрнектердің орындалуы жəненəтиженің бейнеленуі.
Көрсетілген əрекеттер Жабу батырмасы басылғанға дейін программаменқайталана береді. Енгізу тақтасы. Енгізу тақтасында қолданушы қажет жағдайда өзгерте алатын мəліметтер

бейнеленеді.
Display класының əдістері: new Display(String) – создает новый объект Display с заголов- ком; void println(String) – шығару тақтасына жолды басып шығарады; void promt (String,value)- создает на панели ввода поле с подписью и начальным значением;voidready(String)- программа Дайын батырмасының басылуын күтетіндігі жайлы хабаршығарады;Intget-Int(String)- параметр ретінде көрсетілген белгіге сәйкес int типті мәнді алады double getDouble- параметр ретінде көрсетілген белгіге сəйкес double типті мəнді оқиды; String get- String(String) — параметр ретінде көрсетілген белгіге сəйкес String типті мəнді алады. Программа бірінші бес əдісті қолданып жазылуы мүмкін. Соңғы екеуі getInt əдісінің вариациялары болып табылады.

Display класын қолдану. Display класын қолданудағы бірінші қадам осы кластың объектісін құру болып табылады. Жариялау мына түрде болады: Display display new Display(“text”). Кез келген программада ең аз дегенде бір терезе генерацияланады, бірақ мұндай қажеттілік сирек туындайды. Объект құру кезінде Display класына берілетін параметр болып терезе тақырыбы табылады. Келесі этап- – шығару тақтасында бастапқы нұсқаларды бейнелеу. Мұнда println әдісі қолданылады. Мəтіндік өрісті енгізу тақтасына орналастыруға display.promt (“text”,value) әдісі мүмкіндік береді. Мəтіндік өрістерден мəліметтер оқу үшін ең алдымен Дайын батырмасы басулы болуы керек. Батырманы баспай программа қолданушы өзгертулер енгізіп болған-болмағанын анықтай алмайды. Затем осуществляется вызов одного из методов get. Например, h=display.getInt(“text”). Параметр ретінде берілетін жол енгізу тақтасындағы өрістердің қайсысы керек екенін анықтауға мүмкіндік береді. Display объектісіс ағымдағы мәнді қайтарады және оған айнымалы меншіктейді. Javagently пакетінің display және stream кластарына ену үшін программаға сәйкес importjavagently.* операторын қолдану керек.
Конструкторлар: Stream(Input Stream filename); Stream(String filename, int how); Бірінші конструктор Input Stream ағыны белгілі болғанда, сонымен қатар пернетақтамен байланыс орнатқанда қолданылады. Екінші конструктор файлдармен байланыс орнату үшін қолданылады.
Енгізу: int readInt(); double readDouble(); String readString(); char readChar().Енгізу əдістері мəліметтерді Stream объектісінен оқиды жəне оларды көрсетілген типтен тəуелді интерпретациялайды. Егер бұл мəліметтер типі дұрыс емес болса əдіс келесі элементке өтеді. Пункттер бос орындармен немесе кейбір тыныс белгілерімен бөлінуі керек.

Шығару: void println; void print; void close(). Бұл əдістер System.out классындағыдай орындалады. Сlose əдісі əрқашан кезкелген файл үшін шақырылады. Ол егер файл жазба үшін ашық болса, мəліметтер жоғалуының алдын алады.

Форматтау əдісі: String format( int number, int align); String format( double number, intalign, int frac). Форматтау əдісікласс əдістеріболыптабылады,сондықтан Stream.format тəріздішақырылады.

Егер пернетақтадан мəліметтер енгізу керек болса, осы мақсатқа арнайы өңделген бірінші конструкторды қолдану керек:Stream.in = new Stream(System.in). Содан кейін енгізу əдістерінің жиынын қолдану керек.ReadInt жəне ReadDouble əдістері сұраныс бойынша мəндерді қайтарады. ReadStrng əдісі readLine тұрғызылған əдісіне ұқсамайды, өйткені Stream класының барлық əдістері біржолда бірнеше мəндер шығаруға мүмкіндік береді.ReadChar əдісібір символ оқиды.Барлық енгізу əдістері үнсіз келісім бойынша оқылуға жататын мəліметтер элементі басқа элементтерден босорын,табулятор, үтір немесе жол соңындағы символмен бөлінеді деп есептейді. Өкінішке орай, бұл мəліметтерді барлық жағдайларда сəтті оқи алмайтынын, яғни тек қана олар ескерілген символдармен бөлінгенде ғана оқуға болатындығын білдіреді. Əдетте мəліметтерді енгізу үшін өз кезегінде пернетақтамен байланысқан, in арқылы экранмен автоматы түрде байланыс орнататын System.out əдісі қолданылады. Төменде оқу жəне шығару операцияларын қолданудың стандарты мысалы келтірілген.

System.out.print(“Enter age”); Int age = in.readInt().

Format əдісі үшін сандық мəліметтерді шығаруды басқару үшін құралдар беріледі (шығару кезінде сандар жолдарға түрленеді).Бұл əдістер ағынмен байланысты емес, сондықтан олар файлға жазылуы тиіс мəліметтермен жұмыс жасау үшін қолданылуы мүмкін.

Форматтармен бірге аlign параметрі сандарды енгізуге қажет символдардың минималды санын анықтайды. Егер 123 саныналатын болсақ жəне align параметріүшін 6 мəнін алатын болсақ, шығару кезінде 123 санының алдынан үш бос орын аламыз. Осыған орай сандарды колонкаларға теңестіруг еболады. Format əдістері келесі маңызды қасиетке ие: егер сан өзіне берілген аралыққа сыймаса, берілген аралық оң жақтан кеңейеді,ал ондық нүктенің алдындағы цифрлар кез келген жағдайда толық шығарылады.Заттық сандар үшін frac параметрі мынадай форматы анықтайды: бөлшек бөлігі əрқашан тіркелген цифрлар санынан тұрады, ал кез келген келесі цифрлар алынып тасталады.

Тұрақтылар. Stream класындаүлкен əріппенжазылғанекітұрақтыанықталған.Java-дабастапқымəндерішекті (яғниөзгермейтін) болаберетінайнымалылардыанықтауғаболады.
Тұрақтыкелесітүрдежарияланады;

Static funal typeсonst[A1] = <мəн>;
Java-датұрақтылардыңатыбас əріптерменжазылады.
Оқу кезінде байқаусызда мəліметтердің жоғалуы немесе дұрыс емес форматпен байланысты қателер жи ітуындауы мүмкін. Мұндай жағдайлар келеңсіздіктер деп аталады. Сондықтан мəліметтерді оқуға кіріспес бұрын throws IOException командасын қосуға болады, ол оны шақырады жəн кекелеңсіздіктерді өңдемейді.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *