{"id":1360,"date":"2021-04-02T19:14:10","date_gmt":"2021-04-03T02:14:10","guid":{"rendered":"https:\/\/coderpad-staging.io\/?post_type=programming-language&#038;p=1090"},"modified":"2025-09-05T07:11:32","modified_gmt":"2025-09-05T14:11:32","slug":"java","status":"publish","type":"programming-language","link":"https:\/\/coderpad.io\/languages\/java\/","title":{"rendered":"Java"},"content":{"rendered":"\n<p>You should define a public class named&nbsp;<code>Solution<\/code>&nbsp;with a&nbsp;<code>public static void main<\/code>. Your code is compiled with&nbsp;<code>-Xlint<\/code>&nbsp;(linting) and run with&nbsp;<code>-ea<\/code>&nbsp;(assertions enabled).<\/p>\n\n\n\n<p>A few libraries are included for your convenience, and are available on the classpath with no additional work from you. Simply import and they&#8217;re available for use:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/code.google.com\/p\/json-simple\" target=\"_blank\" rel=\"noopener\">json-simple<\/a>&nbsp;for parsing\/encoding JSON.<\/li>\n\n\n\n<li><a href=\"https:\/\/code.google.com\/p\/guava-libraries\" target=\"_blank\" rel=\"noopener\">guava<\/a>&nbsp;provides immutable collections and other handy utility classes.<\/li>\n\n\n\n<li><a href=\"https:\/\/commons.apache.org\/proper\/commons-lang\/\" target=\"_blank\" rel=\"noopener\">Apache Commons Lang<\/a>&nbsp;for assorted utilities. The import prefix is&nbsp;<code>org.apache.commons.lang3<\/code>, so you can perform imports by writing&nbsp;<code>import org.apache.commons.lang3.ArrayUtils<\/code>.<\/li>\n\n\n\n<li><a href=\"http:\/\/junit.org\/\" target=\"_blank\" rel=\"noopener\">JUnit<\/a>, the gold standard for testing in Java. If you want to ask your candidate to write JUnit-style tests during the interview, please format your Java code like so (stack traces originating from JUnit errors are trimmed for brevity):<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"Java\" data-shcb-language-slug=\"java\"><span><code class=\"hljs language-java shcb-wrap-lines\">  <span class=\"hljs-keyword\">import<\/span> org.junit.*;\n  <span class=\"hljs-keyword\">import<\/span> org.junit.runner.*;\n\n  <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Solution<\/span> <\/span>{\n    <span class=\"hljs-meta\">@Test<\/span>\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">testNoop<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\n      Assert.assertTrue(<span class=\"hljs-keyword\">true<\/span>);\n    }\n\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">(String&#91;] args)<\/span> <\/span>{\n      JUnitCore.main(<span class=\"hljs-string\">\"Solution\"<\/span>);\n    }\n  }\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Java<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">java<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/www.jmock.org\/\" target=\"_blank\" rel=\"noopener\">jMock<\/a>, a library to assist with mocking in Java. Combining jMock with the previous JUnit example:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"Java\" data-shcb-language-slug=\"java\"><span><code class=\"hljs language-java shcb-wrap-lines\">  <span class=\"hljs-keyword\">import<\/span> org.jmock.*;\n  <span class=\"hljs-keyword\">import<\/span> org.junit.*;\n  <span class=\"hljs-keyword\">import<\/span> org.junit.runner.*;\n\n  <span class=\"hljs-class\"><span class=\"hljs-keyword\">interface<\/span> <span class=\"hljs-title\">Receiver<\/span> <\/span>{\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">receive<\/span><span class=\"hljs-params\">(String message)<\/span><\/span>;\n  }\n\n  <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Solution<\/span> <\/span>{\n    <span class=\"hljs-meta\">@Test<\/span>\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">testMock<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\n      Mockery context = <span class=\"hljs-keyword\">new<\/span> Mockery();\n      Receiver receiver = context.mock(Receiver<span class=\"hljs-class\">.<span class=\"hljs-keyword\">class<\/span>)<\/span>;\n      context.checking(<span class=\"hljs-keyword\">new<\/span> Expectations() {{\n        oneOf (receiver).receive(<span class=\"hljs-string\">\"hello\"<\/span>);\n      }});\n      receiver.receive(<span class=\"hljs-string\">\"hello\"<\/span>);\n      context.assertIsSatisfied();\n    }\n\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">(String&#91;] args)<\/span> <\/span>{\n      JUnitCore.main(<span class=\"hljs-string\">\"Solution\"<\/span>);\n    }\n  }\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Java<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">java<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>","protected":false},"parent":0,"menu_order":0,"template":"","class_list":["post-1360","programming-language","type-programming-language","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/programming-language\/1360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/programming-language"}],"about":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/types\/programming-language"}],"wp:attachment":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/media?parent=1360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}