Google рд╕реЗ COFOJA рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рдЕрдиреБрдмрдВрдз рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ

рдЫрд╡рд┐

рдХрд┐рд╕рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ





рдпрд╣ рддрдХрдиреАрдХ рдХреНрд▓рд╛рд╕ рдореЗрдердбреНрд╕, рдпреВрдЬрд░ рдлрдВрдХреНрд╢рдиреНрд╕ рдХреЛ рдХрд░рддреЗ рд╕рдордп рдкреВрд░реНрд╡ рд╢рд░реНрдд рдФрд░ рдкреЛрд╕реНрдЯрдХрдВрдбрд┐рд╢рди рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред



рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЪреЗрдХ рдХреА рддрд░рд╣, рдпрд╣ рдЖрдкрдХреЛ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдбреЗрдЯрд╛ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реБрдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╛, рдХрдо (рдпрджрд┐ рдЕрдиреБрдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред



рдореБрдЦрд░рддрд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЪреЗрдХ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╕реАрдзреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдФрд░ рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрддреЗ рд╣реИрдВред



рд╡рд┐рдзрд┐ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдерд╛, рдПрдХ "рдЕрдиреБрдмрдВрдз" рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдВрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдпрд╣ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдХреА рд╕реАрдорд╛ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз (рд╢рд░реНрддреЗрдВ) рд▓рдЧрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, "рдЕрдиреБрдмрдВрдз" (рд╢рд░реНрддреЛрдВ) рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдХрд╕рдХрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред







рдЙрджрд╛рд╣рд░рдг


рдХреБрдЫ рдХреНрд▓рд╛рд╕ рдЯрд╛рдЗрдо рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдпрд╣ рдЕрднрд┐рд▓реЗрдЦреАрдп рд╣реИ, рдФрд░ рдкреВрд░реЗ рдмреНрд░рд╣реНрдорд╛рдВрдб рдХрд╛ рдХрд╛рдордХрд╛рдЬ рдЙрд╕рдХреЗ рдХрд╛рдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ ...



рд╡рд░реНрдЧ рдореЗрдВ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ: getHours (), getMinutes (), getSeconds () рдФрд░ setHours (), setMinutes (), setSeconds (), рдХреНрд░рдорд╢рдГред



рд╣рдо рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ (рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рддрдВрддреНрд░ рдХрд╛ рдПрдХ рднрд╛рдЧ, рдпрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓реАрдХреГрдд)



class Time<br>{<br> intHOURS;<br> intMINUTES;<br> intSECONDS;<br><br> getHours();<br> {<br> returnHOURS;<br> }<br> <br> getMinutes();<br> {<br> return MINUTES;<br> }<br><br> getSeconds()<br> {<br> return SECONDS;<br> }<br><br> setHours(newHOURS);<br> {<br> HOURS = newHOURS;<br> }<br><br> setMinutes(newMINUTES);<br> {<br> MINUTES = newMINUTES;<br> }<br><br> setSeconds(newSECONDS)<br> {<br> SECONDS = newSECONDS;<br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .







рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрдЧ рд╕рд╣реА рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛, рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ "рдореГрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдЭреВрда рдирд╣реАрдВ рдмреЛрд▓рддреЗ рд╣реИрдВ")ред



рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ред



рддрд░реАрдХрд╛ 1: рд╕рд╛рдореВрд╣рд┐рдХ рдлрд╛рд░реНрдо





рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЯрд╛рдЗрдо рдХреНрд▓рд╛рд╕ рдХреЗ рдХреБрдЫ рд╡рд┐рд╡рд░рдг рдФрд░ рджреЛрд╣рд░рд╛рдП рдЧрдП рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред



class Time<br>{<br> getHours();<br> {<br> if (HOURS<0 ||HOURS>23) <br> throw GREAT_Time_Exception ;<br><br> return HOURS;<br> }<br><br> setHours(newHOURS);<br> {<br> if (newHOURS<0 ||newHOURS>23) <br> throw GREAT_Time_Exception ;<br><br> HOURS = newHOURS;<br> }<br>} <br><br> * This source code was highlighted with Source Code Highlighter .







рдиреБрдХрд╕рд╛рди: рд╕рддреНрдпрд╛рдкрди рдХреА рдЧреИрд░-рд╕реНрдкрд╖реНрдЯрддрд╛ред рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЛрдб рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрднреА-рдЕрднреА, рд╣рдордиреЗ рдПрдХ рдЕрдиреБрдмрдВрдз рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди, рдпрд╣ PROVAAAAAAL рд╣реИ! рдХреНрдпреЛрдВ? рд╣рдо рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реИрдВред



рд░рд╛рд╕реНрддрд╛ 2: рд╣рдо рддреИрдпрд╛рд░-рдХрд┐рдП рдЧрдП, рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред





рдЬрд╛рд╡рд╛ рдПрдиреЛрдЯреЗрд╢рди (рд╕рдВрдХрд▓рдХ, рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ) рдХреЗ рддрдВрддреНрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ - рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЗрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрд░реНрде рдХреЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЙрд╕рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ред рдЗрд╕реА рд╕рдордп, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рд╕рдВрдХрд▓рди рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдЪрд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ Google рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ (рдбреЗрд╡рд┐рдб рдореЙрд░реНрдЧрди, рдПрдВрдбреНрд░рд┐рдпрд╛рд╕ рд▓рд┐рдЯрдирд░, рдирдЯ рдорд┐рдиреНрд╣ рд▓реЗ - "рдЬрд╛рд╡рд╛ 20% рдЯреАрдо рдХреЗ рд▓рд┐рдП рдЕрдиреБрдмрдВрдз) рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ COFOJA рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╡рд┐рдХрд╕рд┐рдд рдХреА, рдЬреЛ рдЬрд╛рд╡рд╛ рдореЗрдВ рдЕрдиреБрдмрдВрдзрд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрджреНрдзрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред



рдЖрдЗрдП рд╣рдорд╛рд░реЗ рд╕рдордп рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:



@Contracted // , тАУ IDE <br> class Time<br>{<br> @Ensures ({тАЬresult >= 0тАЭ,тАЬresult <= 23тАЭ })<br> getHours();<br> {<br> return HOURS;<br> }<br><br> @Requires ({тАЬnewHOURS>= 0тАЭ,тАЬnewHOURS<= 23тАЭ })<br> @Ensures (тАЬHOURS == newHOURSтАЭ)<br> // <br> // @Ensures (тАЬgetHours()== newHOURSтАЭ) <br> setHours(newHOURS);<br> {<br> HOURS = newHOURS;<br> }<br>} <br><br> * This source code was highlighted with Source Code Highlighter .







@Requires - рд╢рд╛рдмреНрджрд┐рдХ рдЕрд░реНрде рд╣реИ, "рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдмрд░реВрдЯреАрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (" рд╢рд░реНрдд рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИ ")" рдЕрдиреНрдпрдерд╛, рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджреЗрдВред



@Ensures - рдХрд╛ рд╢рд╛рдмреНрджрд┐рдХ рдЕрд░реНрде рд╣реИ, "рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЙрдкрдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (" рд╕реНрдерд┐рддрд┐ рд╕рдВрддреБрд╖реНрдЯ рд╣реИ ")"



рдпрд╣рд╛рдБ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐, Path1 рдореЗрдВ , рд╣рдорд╛рд░реЗ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡- рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рдФрд░ рдкреЛрд╕реНрдЯ-рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рдЬрд╛рдБрдЪреА рдЧрдИ рд╣реИрдВред рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ? рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдЕрдзрд┐рдХ рджреГрд╢реНрдп рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред



рдЗрди рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд╛рдлреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдЙрдкрдХрд░рдг рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ JAVA рдореЗрдВ рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдпрд╛ рддреЛ рдкреБрд░рд╛рдиреЗ рд╣реИрдВ рдФрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ / рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИрдВред



рдХреНрдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╣реЛрддреЗ рд╣реИрдВред





com.google.java.contractред * - COFOJA рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдореБрдЦреНрдп рдирд╛рдорд╕реНрдерд╛рдиред



рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢рд╛рдорд┐рд▓ рд╣реИ:





@Contracted - IDE рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрдд, рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрдЧ рдЕрдиреБрдмрдВрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред



@ рдЗрдВрд╡рд░рд┐рдпрдВрдЯ - рдЗрдирд╡реЗрд░рд┐рдПрдВрдЯреНрд╕ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЧреБрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреВрд░реЗ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рд╕рдореНрдорд╛рдирд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



@Requires - рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рдг рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ - рдПрдХ рд╡рд┐рдзрд┐ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



@Ensures - рдкреЛрд╕реНрдЯрдХрдВрдбрд┐рд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ - рдПрдХ рд╡рд┐рдзрд┐ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рд╕рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



@ThrowEnsures - рдЖрдкрдХреЛ рдкреЛрд╕реНрдЯрдХреЙрдиреНрдбрд┐рд╢рди рдЪреЗрдХ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред





рдХреНрдпрд╛ рджреЗрдЦрдирд╛ рд╣реИ




@Ensures рдФрд░ @Rireires рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХрдИ рд╢рд░реНрддреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ {} рдореЗрдВ рд╕реНрдерд┐рддрд┐ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:



@Ensures ( { тАЬ1тАЭ, тАЬ тАж тАЭ, тАЬNтАЭ } )<br><br>@Requires ( { тАЬ1тАЭ, тАЬ тАж тАЭ, тАЬNтАЭ } )<br> <br> * This source code was highlighted with Source Code Highlighter .







рдпрджрд┐ рдЕрдиреБрдмрдВрдз рдирд╣реАрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ (рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди), рддреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ рдкреВрд░реНрд╡- рдЕрдкрд╡рд╛рдж рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИ - рдПрдХ рдкреВрд░реНрд╡ рд╢рд░реНрдд рддреНрд░реБрдЯрд┐ рдЬрд┐рд╕реЗ рдкрдХрдбрд╝рд╛ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдкреЛрд╕реНрдЯрдХреЙрдиреНрдбрд┐рд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╕рдордп рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдкрд╡рд╛рдж рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, @ThrowEnsures рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЗрд╕рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ:



@ThrowEnsures ({ "" , "" })<br><br>@ThrowEnsures ({<br> "1" , "1" ,<br> ...<br> "N" , "N" ,<br> }) <br><br> * This source code was highlighted with Source Code Highlighter .







рд╕рд╣реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдиреБрдмрдВрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЕрдиреБрдмрдВрдзреЛрдВ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИред рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмреАрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВред



рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрдиреБрдмрдВрдз рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП IDE рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ред





рдЧреНрд░рд╣рдг *




рддреИрдпрд╛рд░реА:

  1. рдХрд┐рд╕реА рднреА рдЙрдкрд▓рдмреНрдз рддрд░реАрдХреЗ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ / рдирд┐рдХрд╛рд▓реЗрдВ (рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рд╕рдВрдХрд▓рди рддрдХ) cofoja.jar рдкреИрдХреЗрдЬред
  2. рдЧреНрд░рд╣рдг рдЖрдИрдбреАрдИ рдЪрд▓рд╛рдПрдВ, рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред
  3. Cofoja.jar рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред




рдЕрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:



  1. рдкреНрд░реЛрдЬреЗрдХреНрдЯ -> рдЧреБрдг- > рдЬрд╛рд╡рд╛ рдмрд┐рд▓реНрдб рдкрд╛рде , рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЯреИрдм -> JARs рдЬреЛрдбрд╝реЗрдВ , рдЬреЛ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдЙрд╕рдореЗрдВ рд╣рдорд╛рд░реА cofoja.jar рдлрд╝рд╛рдЗрд▓ рдЪреБрдиреЗрдВ
  2. рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдЧреНрд░рд╣рдг рдЖрдИрдбреАрдИ рдЕрдиреБрдмрдВрдз рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдЧреНрд░рд╣рдг рдЖрдИрдбреАрдИ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдмрд╛рд╣рд░реА рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



    рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдиреВ рдкрд░ рдЬрд╛рдПрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ -> рдЧреБрдг-> рдЬрд╛рд╡рд╛ рдХрдВрдкрд╛рдЗрд▓рд░-> рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ , рд╕рднреА рдЪреЗрдХрдорд╛рд░реНрдХ рдбрд╛рд▓реЗрдВ, рджреЛ рдХреАрдЬрд╝ (рдкреНрд░реЛрд╕реЗрд╕рд░ рдСрдкреНрд╢рдВрд╕) рдЬреЛрдбрд╝реЗрдВ (рдХреБрдВрдЬреА)



    com.google.java.contract.classpath - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░реНрдг рдкрде - cofoja.jar ред

    com.google.java.contract.classoutput - рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рд╡рд╣ рдкреВрд░реНрдг рдкрде рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрдХреНрд╖рд╛рдПрдВ рд╕рдВрдХрд▓рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ ( рдмрд┐рди рдлрд╝реЛрд▓реНрдбрд░)ред



    рдПрдХ рдЙрджрд╛рд╣рд░рдг :



    com.google.java.contract.classpath = C: \ java \ eclipseWorkspace \ JavaContractsTest \ ccofoja.jar

    com.google.java.contract.classoutput = C: \ java \ eclipseWorkspace \ JavaContractsTest \ bin



    рдлрд╝реИрдХреНрдЯрд░реА рдкрде рдЙрдкрд╢реНрд░реЗрдгреА рдореЗрдВ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ , рдлрд┐рд░ - рдЬрд╛рд░ рдЬреЛрдбрд╝реЗрдВ -> рд╣рдорд╛рд░реЗ cofoja.jar рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
  3. рдЙрд╕рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдмрд╛рд╣рд░реА рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдЬрд┐рд╕реЗ рд╣рдо рдЕрднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред
  4. рдпрд╣ рд╣рдорд╛рд░реЗ рдХреЛрдб рдХреЛ рдЕрдиреБрдмрдВрдзреЛрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд░рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ -> рддрд░реНрдХ, VM рддрд░реНрдХ рдлрд╝реАрд▓реНрдб рдореЗрдВ, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ: -javaagent: cofoja.jar
  5. рдкреНрд░рд╛рд░реВрдк:
  6. ( -рдЬрд╡рд╛рдЧреЗрдВрдЯ: <рдЕрдиреБрдмрдВрдз_рдХрд╛рд░реНрдп_рдлрд╛рдЗрд▓_рдирд╛рдо> .рдЬрд░ )
  7. рд╣реЛ рдЧрдпрд╛ред рдЖрдк рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЕрдиреБрдмрдВрдз рдХреЗ рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реАрдзреЗ рдЖрдИрдбреАрдИ рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред




рдиреЗрдЯрдмреАрдиреНрд╕ * **






1. рдХрд┐рд╕реА рднреА рдЙрдкрд▓рдмреНрдз рддрд░реАрдХреЗ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ / рдирд┐рдХрд╛рд▓реЗрдВ (рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рд╕рдВрдХрд▓рди рддрдХ) cofoja.jar рдкреИрдХреЗрдЬред



2. рдиреЗрдЯрдмреАрдиреНрд╕ рдЖрдИрдбреАрдИ рдЪрд▓рд╛рдПрдВ, рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред



3. cofoja.jar рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред



4. рдЕрдм рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред



рдПрдХред рдкрд░рд┐рдпреЛрдЬрдирд╛ -> рдЧреБрдг-> рдкреБрд╕реНрддрдХрд╛рд▓рдп



рдХрдВрдкрд╛рдЗрд▓рд░ , рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ, рд░рди рдЯреИрдм рд╣рдорд╛рд░реА cofoja.jar рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ ( JARs рдмрдЯрди рдЬреЛрдбрд╝реЗрдВ )



рдЦред рдирд┐рд░реНрдорд╛рдг рдкрд░ рдЬрд╛рдПрдВ -> рд╕рдВрдХрд▓рди



рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ, рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдХреНрд╕реЗ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдлрд┐рд░ рдПрдб рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ: com.google.java.contract.classpath



рд╕реАред рд░рди рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ

VM рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ, рдЬреЛрдбрд╝реЗрдВ: -Javaagent: cofoja.jar (рд╣рдорд╛рд░реЗ рдЕрдиреБрдмрдВрдз рд╣реИрдВрдбрд▓рд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо)

рдкреНрд░рд╛рд░реВрдк:

( -рдЬрд╡рд╛рдЧреЗрдВрдЯ: <рдЕрдиреБрдмрдВрдз_рдХрд╛рд░реНрдп_рдлрд╛рдЗрд▓_рдирд╛рдо> .рдЬрд░ )



рдШред рд╣реЛ рдЧрдпрд╛ред рдЖрдк рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЕрдиреБрдмрдВрдз рдХреЗ рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реАрдзреЗ рдЖрдИрдбреАрдИ рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред





рдЬрд╛рд╡реИрдХ - рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рди






1. рдХрд┐рд╕реА рднреА рдЙрдкрд▓рдмреНрдз рддрд░реАрдХреЗ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ / рдирд┐рдХрд╛рд▓реЗрдВ (рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рд╕рдВрдХрд▓рди рддрдХ) cofoja.jar рдкреИрдХреЗрдЬред



2. рд╣рдордиреЗ cofoja.jar рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрди рдлреЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдХрдВрдкрд╛рдЗрд▓ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред



3. рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдкрд░, рдЯрд╛рдЗрдк рдХрд░реЗрдВ: javac -cp cofoja.jar MyClass.java



рд╣рдо рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, рд╕рд╣реА, рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред



-Cp рд╕рдВрдХрд▓рдХ рд╕реНрд╡рд┐рдЪ рдЖрдкрдХреЛ рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВред



рд╡рд╛рдХреНрдп рд╡рд┐рдиреНрдпрд╛рд╕ рдпрд╣ рд╣реИ:

javac -cp <file_name рдПрдиреЛрдЯреЗрд╢рди_рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде> <Class1.java> <ClassN.java>





* рдиреЛрдЯ: рдпрджрд┐, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рднрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ ( JavaBuilder ) рдХреЛ рдвреВрдВрдврдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ JATAC рдХрдВрдкрд╛рдЗрд▓рд░ (JDK \ bin) рдХреЗ рд╕рд╛рде PATH рд╕рд░реНрд╡рд░ рдЪрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреНрд░рднрд╛рд╡реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдЪрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд░рд┐рдмреВрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ ( рд╡рд┐рдВрдбреЛрдЬ 2k / XP рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ 7 рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓рд┐рдирдХреНрд╕ рдореЗрдВ , рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЙрдЧрд┐рди рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ - рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╢реЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░)ред



** рдиреЛрдЯ: рдпрджрд┐ рдЖрдкрдХреЗ NetBeans рдореЗрдВ рдРрд╕реЗ рдореЗрдиреВ рдЖрдЗрдЯрдо рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред NetBeans 6.9 рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ - рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред



рд╕рдВрджрд░реНрдн






All Articles