IntelliJ IDEA рд╕реНрдЯреЗрдЯрд┐рдХ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде CDK рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рддреНрдпрд╛рдкрди

рдореИрдВрдиреЗ IntelliJ IDEA рд╕реНрдерд┐рд░ рдЬрд╛рд╡рд╛ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде, рдж рдХреЗрдорд┐рд╕реНрдЯреНрд░реА рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд┐рдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдпрд╣рд╛рдВ рдореИрдВ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреВрдВрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓реАрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред


рд░рд╕рд╛рдпрди рд╡рд┐рдЬреНрдЮрд╛рди рд╡рд┐рдХрд╛рд╕ рдХрд┐рдЯ рд░рд╕рд╛рдпрди рд╡рд┐рдЬреНрдЮрд╛рди рдФрд░ рдЬреИрд╡ рд╕реВрдЪрдирд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рдЬрдм рдореИрдВ рдЬреИрд╡ рд╕реВрдЪрдирд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рд▓рдЧрд╛ рд╣реБрдЖ рдерд╛, рд╣рдордиреЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ 20 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рджрд░реНрдЬрдиреЛрдВ рд▓реЗрдЦрдХ рд╣реИрдВ, рдФрд░ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдмрд╣реБрдд рдЕрд╕рдорд╛рди рд╣реИред рдлрд┐рд░ рднреА, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ, рдФрд░ JaCoCo рдХрд╡рд░реЗрдЬ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг pom.xml рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддреАрди рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╡рд╣рд╛рдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ: рдлрд╛рдЗрдВрдбрдмрдЧреНрд╕ , рдкреАрдПрдордбреА , рдЪреЗрдХрд╕реНрдЯрд╛рдЗрд▓ ред рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдХреМрди рд╕реА рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рд╣реИред


IntelliJ IDEA рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╕реНрдереИрддрд┐рдХ рдЬрд╛рд╡рд╛ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╡рд┐рд╢реЗрд╖ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдиреАрдЪ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╕реНрддреБрддрдГ рд╕рднреА рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреНрд╖рдорддрд╛рдПрдВ рдХрдореНрдпреБрдирд┐рдЯреА рдПрдбрд┐рд╢рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЬреЛ рдПрдХ рдирд┐рдГрд╢реБрд▓реНрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдЖрдИрдбреАрдИ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореБрдХреНрдд рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛрдб рд╕рдВрдкрд╛рджрди рдореЛрдб рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк IntelliJ IDEA рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рд╣реА рд░реВрдк рд╕реЗ рд╕реЗрдХрдВрдб рдореЗрдВ рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднреА рдХрд┐рдП рдЧрдП рдереЗред рдЖрдк рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдпрд╛ рдЙрд╕рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдмреИрдЪ рдореЛрдб рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХреЛрдб рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдирд╛рдо рд╕реЗ рдирд┐рд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдБ ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреБрдЫ рдирд┐рд░реАрдХреНрд╖рдг рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг, рд╕рдВрдкрд╛рджрди рдореЛрдб рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕реЗ рдХреБрдЫ рдирд┐рд░реАрдХреНрд╖рдг рд╣реИрдВред


рдХрдИ IntelliJ IDEA рдирд┐рд░реАрдХреНрд╖рдг рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЧрд▓рдд рдХреЛрдб рдпрд╛ рдЕрдзрд┐рдХ рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░, рд╕реБрдВрджрд░ рдпрд╛ рддреНрд╡рд░рд┐рдд рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрдм рдЖрдк рдЖрдИрдбреАрдИ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддреЗ рд╣реИрдВред рдореВрд▓ рд░реВрдк рд╕реЗ, рдЬрд╛рд╡рд╛ рд╢реНрд░реЗрдгреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ | рд╕рдВрднрд╛рд╡рд┐рдд рдХреАрдбрд╝реЗ , рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдиреНрдп рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИрдВ, рдЬреИрд╕реЗ рдиреНрдпреВрдореЗрд░рд┐рдХ рдЗрд╢реНрдпреВ ред


рдореИрдВ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред


1. рдпреВрдирд░реА рдкреНрд▓рд╕


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 66 рд╕рдВрдпреБрдХреНрдд рдкреНрд▓рд╕ рдереЗред рдХреЗрд╡рд▓ 1 рдмрдЬрд╛рдп +1 рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрднреА-рдХрднреА рдореИрдВ рд╕реБрдВрджрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпреВрдирд░реА рдкреНрд▓рд╕ += рдмрдЬрд╛рдп рдмрд╛рд╣рд░ рдЖрддрд╛ рд╣реИ, рддреЛ += рд▓рд┐рдЦрд╛ =+ :


 int totalCharge1 = 0; while (atoms1.hasNext()) { totalCharge1 = +((IAtom) atoms1.next()).getFormalCharge(); } Iterator<IAtom> atoms2 = products.atoms().iterator(); int totalCharge2 = 0; while (atoms2.hasNext()) { totalCharge2 = +((IAtom) atoms2.next()).getFormalCharge(); } 

рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЯрд╛рдЗрдкреЛ рдЬреЛ рдЕрдВрддрд┐рдо рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд▓реВрдк рдХреЗ рд╕рднреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЕрдЬреАрдм рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рд╕реНрдкреЗрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рд╕реНрдкреЗрд╕" рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди "рд╕реНрдкреЗрд╕ рдкреНрд▓рд╕ рдХреЗ рдмрд░рд╛рдмрд░ рд╕реНрдкреЗрд╕"ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдЖрдк рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рддрд▓реНрд▓реАрди рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдЕрдЬрдирдмреАрдкрди рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, "рдмрд░рд╛рдмрд░" рдФрд░ "рдкреНрд▓рд╕" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдереЗ, рд▓реЗрдХрд┐рди 2008 рдореЗрдВ рд╡реЗ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлреЙрд░реНрдореЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓реЗ рдЧрдП, рдФрд░ рдХреЛрдб рдмрджрд▓ рдЧрдпрд╛ред рд╡реИрд╕реЗ, рдпрд╣рд╛рдВ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдиреИрддрд┐рдХ рд╣реИ: рдпрд╣ рдЕрдЬреАрдм рдкреНрд░рд╛рд░реВрдкрдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдХреЛрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧреА рдФрд░ рдХреАрдбрд╝реЗ рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗред


2. рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди рдХреЗ рдХрд╛рд░рдг рдЕрдЧреНрд░рдгреА


рдПрдХ рдмрд▓реНрдХрд┐ рдХрд╖реНрдЯрдкреНрд░рдж рдЧрд▓рддреА, рд▓реЗрдХрд┐рди рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЗрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд╛рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ :


 angle = 1 / 180 * Math.PI; 

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЛрдг рдПрдХ рдбрд┐рдЧреНрд░реА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╢реВрдиреНрдп рд╣реЛ рдЧрдпрд╛ред рдЗрд╕реА рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐ :


 Integer c1 = features1.get(key); Integer c2 = features2.get(key); c1 = c1 == null ? 0 : c1; c2 = c2 == null ? 0 : c2; sum += 1.0 - Math.abs(c1 - c2) / (c1 + c2); // integer division in floating-point context 

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рд╕рдВрдЦреНрдпрд╛рдПрдБ c1 рдФрд░ c2 рдЧреИрд░-рдЛрдгрд╛рддреНрдордХ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЕрдВрддрд░ рдорд╛рдкрд╛рдВрдХ рдХрднреА рднреА рдпреЛрдЧ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдкрд░рд┐рдгрд╛рдо 0 рд╣реЛрдЧрд╛ рдпрджрд┐ рджреЛрдиреЛрдВ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдиреЙрдирдЬрд╝рд░реЛ рд╣реИрдВ, рдпрд╛ 1 рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ 0 рд╣реИред


3. рдХреЙрд▓ Class.getClass ()


рдХрднреА-рдХрднреА рд▓реЛрдЧ рдЯрд╛рдЗрдк Class рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ getClass() рд╡рд┐рдзрд┐ рдХрд╣рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рдлрд┐рд░ рд╕реЗ Class рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирд┐рд░рдВрддрд░ рдорд╛рди Class.class ред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдЧрд▓рддреА рд╣реИ: getClass() рдмреБрд▓рд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ :


 public <T extends ICDKObject> T ofClass(Class<T> intf, Object... objects) { try { if (!intf.isInterface()) throw new IllegalArgumentException("expected interface, got " + intf.getClass()); ... 

рдпрджрд┐ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╡реИрд╕реЗ, рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрдХреНрд╕рд░ рдкреБрд░рд╛рдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рджреНрд╡рд╛рд░рд╛ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИрдВ: рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдПрдХ рд╕рд░рдгреА рдкрд░ 4.String () рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ


рдпрд╣ рд╢реИрд▓реА рдХрд╛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд╣реИ: рдПрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП toString () рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рдмреЗрдХрд╛рд░ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


 int[] dim = {0, 0, 0}; ... return "Dim:" + dim + " SizeX:" + grid.length + " SizeY:" + grid[0].length + " SizeZ:"... 

рдЕрдкрдиреА рдЖрдБрдЦреЛрдВ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдБ dim.toString() рдирд┐рд╣рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдЯреНрд░рд┐рдВрдЧ dim.toString() рд╣реИред рдПрдХ рдлрд┐рдХреНрд╕ рддреБрд░рдВрдд рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - Arrays.toString(dim) рдореЗрдВ рд▓рдкреЗрдЯреЛред


5. рд╕рдВрдЧреНрд░рд╣ рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рднрд░рд╛ рдирд╣реАрдВ рд╣реИ


рдпрд╣ рднреА, рдЕрдХреНрд╕рд░ рдПрдХ рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░рдВрддрд░ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдирд╣реАрдВ рдЧреБрдЬрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ :


 final Set<IBond> bondsToHydrogens = new HashSet<IBond>(); // ... 220  ,  bondsToHydrogens   ! for (IBond bondToHydrogen : bondsToHydrogens) //     sgroup.removeBond(bondToHydrogen); 

рдЬрд╛рд╣рд┐рд░ рд╣реИ рднрд░рдиреЗ рд╕реЗ рдЪреВрдХ рдЧрдПред рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рдкрд╛рд╕ рд╕рд░рд▓ рдЬрд╛рдВрдЪ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЕрдкреНрд░рдпреБрдХреНрдд рдЪрд░ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдЪреБрдк рд╣реИрдВред рд╣рдореЗрдВ рдПрдХ рдЪрд╛рд▓рд╛рдХ рдирд┐рд░реАрдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИред


6. рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд: рд╣рдо рднрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрдврд╝рддреЗ рдирд╣реАрдВ рд╣реИрдВ


рдЙрд▓реНрдЯреЗ рдорд╛рдорд▓реЗ рднреА рд╕рдВрднрд╡ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ :


 int[] tmp = new int[trueBits.length - 1]; System.arraycopy(trueBits, 0, tmp, 0, i); System.arraycopy(trueBits, i + 1, tmp, i, trueBits.length - i - 1); 

рдирд┐рд░реАрдХреНрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЕрд░реИрд╕реНрдХреЛрдкреА рдкрджреНрдзрддрд┐ рдХрд╛ рддреАрд╕рд░рд╛ рддрд░реНрдХ рдХреЗрд╡рд▓ рд╕рд░рдгреА рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдб рдХреЗ рддрд░реНрдХ рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП, рд▓рд╛рдЗрди trueBits = tmp; рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ trueBits = tmp; ред


7. == рджреНрд╡рд╛рд░рд╛ рдкреВрд░реНрдгрд╛рдВрдХ рдХреА рддреБрд▓рдирд╛


рдпрд╣ рдПрдХ рдХрдкрдЯреА рдмрдЧ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрдЯреАрдЧрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЫреЛрдЯреЗ рдореВрд▓реНрдп рдХреИрд╢ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рджрд┐рди рдХреА рд╕рдВрдЦреНрдпрд╛ 127 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рддрдХ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ :


 for (int a = 0; a < cliqueSize; a++) { for (int b = 0; b < vecSize; b += 3) { if (cliqueList.get(a) == compGraphNodes.get(b + 2)) { cliqueMapping.add(compGraphNodes.get(b)); cliqueMapping.add(compGraphNodes.get(b + 1)); } } } 

рдЦреИрд░, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдХреБрдЫ рд╡рд╕реНрддреБрдУрдВ рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рд╢рд╛рдпрдж рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрди рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВред


8. рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ


рдЗрд╕ рдирд┐рд░реАрдХреНрд╖рдг рдореЗрдВ, рдПрдХ рддрд╕реНрд╡реАрд░ рдПрдХ рд╣рдЬрд╛рд░ рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдЧрд▓рддреА рджреЗрдЦрд┐рдП ?


рдХреНрдпрд╛ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ?


9. рд╡рд┐рдзрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдХреБрдЫ рддрд░реАрдХреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЖрдИрдбреАрдИрдП рдЖрд╕рд╛рдиреА рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ :


 currentChars.trim(); 

рд╢рд╛рдпрдж, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдерд╛ currentChars = currentChars.trim(); ред рдЪреВрдВрдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рддрд╛рд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИрдВ, рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рднреА рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП , str.substring(2) ред


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


10. рдкрд╣реБрдВрдЪ рд╕реЗ рдмрд╛рд╣рд░ рд╕реНрд╡рд┐рдЪ рд╢рд╛рдЦрд╛рдУрдВ


 // if character is out of scope don't if (c > 128) return 0; switch (c) { case '\u002d': // hyphen case '\u2012': // figure dash case '\u2013': // en-dash case '\u2014': // em-dash case '\u2212': // minus return '-'; // 002d default: return c; } 

рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рд╡рд░реНрдгреЛрдВ рдХреЛ 128 рд╕реЗ рдЕрдзрд┐рдХ рдХреЛрдб рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рд░рдЦрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдЦрд╛рдПрдБ \u2012-\u2212 рдкрд╣реБрдВрдЪ \u2012-\u2212 рдмрд╛рд╣рд░ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рдерд╛ред


11. рдЕрдкреНрд░рд╛рдкреНрдп рджрд╢рд╛


рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рдЕрджреНрднреБрдд рд╕рдорд╕реНрдпрд╛:


 if (oxNum == 0) { if (hybrid.equals("sp3")) { ... } else if (hybrid.equals("sp2")) return 47; } else if (oxNum == 1 && hybrid.equals("sp3")) return 47; else if ((oxNum == 2 && hybrid.equals("sp3")) || (oxNum == 1 && hybrid.equals("sp2")) || (oxNum == 0 && hybrid.equals("sp"))) //     return 48; else if ((oxNum == 3 && hybrid.equals("sp3")) || (oxNum >= 2 && hybrid.equals("sp2")) || (oxNum >= 1 && hybrid.equals("sp"))) return 49; 

рдЬрдЯрд┐рд▓ рд╕рд╢рд░реНрдд рддрд░реНрдХ рдореЗрдВ, рдпрд╣ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ: рд╣рдо рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдЪ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЯреБрдХрдбрд╝рд╛ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ oxNum == 0 , рдЕрдиреНрдпрдерд╛ рд╣рдо oxNum == 0 && hybrid.equals("sp") , рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред


12. рд╣рдо рд╢реВрдиреНрдп рд▓рдВрдмрд╛рдИ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрддреЗ рд╣реИрдВ


рдХрднреА-рдХрднреА IntelliJ IDEA рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд╣рд░ рдХрд┐рд╕реА рд╕рд░рдгреА рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:


 Point3d points[] = new Point3d[0]; //    0  if (nwanted == 1) { points = new Point3d[1]; points[0] = new Point3d(aPoint); points[0].add(new Vector3d(length, 0.0, 0.0)); } else if (nwanted == 2) { //       тАФ   points[0] = new Point3d(aPoint); points[0].add(new Vector3d(length, 0.0, 0.0)); points[1] = new Point3d(aPoint); points[1].add(new Vector3d(-length, 0.0, 0.0)); } 

13. рдЗрдВрдбреЗрдХреНрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рдмрд╛рдж рд▓рдВрдмрд╛рдИ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛


рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдЖрдо рд╕рдорд╕реНрдпрд╛ рдФрд░ рдлрд┐рд░ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рджреМрд░рд╛рди :


 public void setParameters(Object[] params) throws CDKException { if (params.length > 1) { throw new CDKException("..."); } if (!(params[0] instanceof Integer)) { //     throw new CDKException("The parameter must be of type Integer"); } if (params.length == 0) return; //      maxIterations = (Integer) params[0]; } 

рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдб рдХрд╛ рд▓реЗрдЦрдХ рдЪреБрдкрдЪрд╛рдк рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕рддреНрдпрд╛рдкрди рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛, рдЬреЛрд░ рд╕реЗ рдмреИрдард╛ рд╣реБрдЖ ArrayIndexOutOfBoundsExceptionред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЪреЗрдХ рдХрд╛ рдСрд░реНрдбрд░ рдЖрдЙрдЯ рдСрдл рдСрд░реНрдбрд░ рд╣реИред


14. рдкрд╣реБрдБрдЪ рдХреЗ рдмрд╛рдж рдЕрд╢рдХреНрдд рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВ


рдФрд░ рдлрд┐рд░, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХреНрд░рдо рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░ рдЕрд╢рдХреНрдд рдХреЗ рд╕рд╛рде :


 while (!line.startsWith("frame:") && input.ready() && line != null) { line = input.readLine(); logger.debug(lineNumber++ + ": ", line); } 

IDEA рдЙрд╕ line != null рд▓рд┐рдЦрддреА рд╣реИ line != null рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЪреЗрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреЗрдорд╛рдиреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреЛрдб рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдирд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред


15. рд╕рдореНрдорд┐рд╢реНрд░рдг рдХреЗ рдмрдЬрд╛рдп рдЕрд╡реНрдпрд╡рд╕реНрдерд╛


рд▓реЛрдЧ рдЕрдХреНрд╕рд░ рддрд╛рд░реНрдХрд┐рдХ рдСрдкрд░реЗрдЯрд░реЛрдВ рдФрд░ OR рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рддреЗ рд╣реИрдВред CDK рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ :


 if (rStereo != 4 || pStereo != 4 || rStereo != 3 || pStereo != 3) { ... } 

рдЬреЛ рднреА rStereo рдФрд░ pStereo рдмрд░рд╛рдмрд░ рд╣реИрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╡реЗ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЪрд╛рд░ рдФрд░ рддреАрди рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реНрдерд┐рддрд┐ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрддреА рд╣реИред


16. рд╕рдВрдпреЛрдЬрди рдХреЗ рдмрдЬрд╛рдп рдлрд┐рд░ рд╕реЗ рдЕрд╡реНрдпрд╡рд╕реНрдерд╛


рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ , рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рд╕рдВрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдкрдХрдбрд╝рд╛ рдЧрдпрд╛:


 if (getFirstMapping() != null || !getFirstMapping().isEmpty()) { ... } 

рд╣рдо рдХреЗрд╡рд▓ рддрднреА рджрд╛рдИрдВ рдУрд░ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм getFirstMapping() рд╡рд╛рдкрд╕ рд▓реМрдЯ рдЖрдП, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдореЗрдВ NullPointerException рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ IDEA рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдпрд╣рд╛рдВ рд╣рдо getFirstMapping() рд╡рд┐рдзрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рдХрднреА-рдХрднреА рд╣рдо рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╕реНрдерд┐рд░рддрд╛ рдХрд╛ рд╕реАрдзреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╡рд░реНрдЧ рдЕрдВрддрд┐рдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред return firstSolution.isEmpty() ? null : firstSolution IDEA рдЕрдкрдиреЗ рдмреЙрдбреА return firstSolution.isEmpty() ? null : firstSolution return firstSolution.isEmpty() ? null : firstSolution рдФрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд┐рд░рддрд╛ Map#isEmpty рд╡рд┐рдзрд┐ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддреА рд╣реИ, рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдерд┐рд░ рд░реВрдк рдореЗрдВ рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


17. рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рдЗрдиреНрд╕реНрдЯреЙрдлрд╝ рдХреА рдкрджрд╛рдиреБрдХреНрд░рдо


рдХрд┐рд╕реА рднреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЗрдВрдЯрд░рдлреЗрд╕ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ:


 if (object instanceof IAtomContainer) { root = convertor.cdkAtomContainerToCMLMolecule((IAtomContainer) object); } else if (object instanceof ICrystal) { root = convertor.cdkCrystalToCMLMolecule((ICrystal) object); } ... 

ICrystal рдЗрдВрдЯрд░рдлрд╝реЗрд╕ ICrystal рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреВрд╕рд░реА рд╢рд╛рдЦрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкреНрд░рд╛рдкреНрдп рд╣реИ: рдпрджрд┐ рдХреЛрдИ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдпрд╣рд╛рдБ рдЖрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрд╣рд▓реА рд╢рд╛рдЦрд╛ рдореЗрдВ рдЖрдПрдЧрд╛ред


18. рдПрдХ рдЦрд╛рд▓реА рд╕реВрдЪреА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛


рдЗрд╕ рдХреЛрдб рдХреЗ рд▓реЗрдЦрдХ рд╢рд╛рдпрдж рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рд╕реЗ рдмрд╣реБрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ:


 List<Integer> posNumList = new ArrayList<Integer>(size); for (int i = 0; i < posNumList.size(); i++) { posNumList.add(i, 0); } 

ArrayList рдореЗрдВ рдЖрдХрд╛рд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЖрдВрддрд░рд┐рдХ рд╕рд░рдгреА рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрд╡рдВрдЯрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рддрдиреЗ рдЖрдЗрдЯрдо рд╡рд╣рд╛рдВ рд▓рдЧрд╛рдиреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реВрдЪреА рдореЗрдВ рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ size() рд╡рд┐рдзрд┐ 0. рд╡рд╛рдкрд╕ рдЖрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕реВрдЪреА рдЖрдЗрдЯрдо рдХреЛ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдЕрдЧрд▓рд╛ рдЪрдХреНрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЗрдХрд╛рд░ рд╣реИред


19. рдЦреЗрддреЛрдВ рдХреЛ рдЖрд░рдореНрдн рдХрд░рдирд╛ рдордд рднреВрд▓рдирд╛


рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдлрд╝реАрд▓реНрдб рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░реНрд╕ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдРрд╕реА рддреНрд░реБрдЯрд┐ рдкрд╛рдИ рдЧрдИ:


 public class IMatrix { public double[][] realmatrix; public double[][] imagmatrix; public int rows; public int columns; public IMatrix(Matrix m) { rows = m.rows; columns = m.columns; int i, j; for (i = 0; i < rows; i++) for (j = 0; j < columns; j++) { realmatrix[i][j] = m.matrix[i][j]; // NullPointerException  imagmatrix[i][j] = 0d; } } } 

рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдХреНрд╖реЗрддреНрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реИрдВ, рдпрд╣рд╛рдВ рдХреЛрдИ рднреА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рдордиреЗ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, IDEA рд╕рд╛рд╣рд╕рдкреВрд░реНрд╡рдХ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд░рдгреА рддрддреНрд╡ рддрдХ рдкрд╣реБрдВрдЪ рдПрдХ NullPointerException рдмрдврд╝рд╛рдПрдЧрд╛ред


20. рджреЛ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдПрдВ рдирд╣реАрдВ


рдмрд╛рд░-рдмрд╛рд░ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рднреА рд╣реЛрддреА рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ :


 if (commonAtomCount > vfMCSSize && commonAtomCount > vfMCSSize) { return true; } 

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


рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрдЧ рдЯреНрд░реИрдХрд░ рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдмрдЧреЛрдВ рдХреА рд╕реВрдЪрдирд╛ рджреАред рдпрд╣ рдЙрддреНрд╕реБрдХ рд╣реИ рдХрд┐ рдЬрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдПрдХ рднрд╛рдЧ рдХреЛ рд╕рд╣реА рдХрд┐рдпрд╛, рддреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЦреБрдж рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбреАрдПрдП рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рдкрд╛рдИрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдерд╛, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдирд╛ рднреА рд╢реБрд░реВ рдХрд┐рдпрд╛ ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрдд рд╣реИ: рд▓реЗрдЦрдХреЛрдВ рдиреЗ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ред

Source: https://habr.com/ru/post/hi436278/


All Articles