Middle three digits: Difference between revisions
Content added Content deleted
Line 1,787: | Line 1,787: | ||
</pre> |
</pre> |
||
=={{header|Elena}}== |
=={{header|Elena}}== |
||
ELENA |
ELENA 4.x : |
||
<lang elena>import system'routines |
<lang elena>import system'routines; |
||
import extensions |
import extensions; |
||
middleThreeDigits(int n) |
middleThreeDigits(int n) |
||
{ |
|||
[ |
|||
string s := n.Absolute.toString(); |
|||
int len := s |
int len := s.Length; |
||
if(len<3) |
if(len<3) |
||
{ |
|||
InvalidArgumentException |
InvalidArgumentException.new:"n must have 3 digits or more".raise() |
||
} |
|||
if(len |
else if(len.isEven()) |
||
{ |
|||
InvalidArgumentException |
InvalidArgumentException.new:"n must have an odd number of digits".raise() |
||
}; |
|||
int mid := len / 2 |
int mid := len / 2; |
||
^ s |
^ s.Substring(mid-1,3) |
||
} |
|||
] |
|||
public program |
public program() |
||
{ |
|||
[ |
|||
new int[]{123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345, 1, 2, -1, -10, 2002, -2002, 0} |
|||
forEach |
.forEach:(n) |
||
{ |
|||
console.printLine("middleThreeDigits(",n,"):",middleThreeDigits(n) | on:(e => e.Message)) |
|||
} |
|||
}</lang> |
|||
{{out}} |
{{out}} |
||
<pre> |
<pre> |