{"id":28191,"date":"2022-12-29T07:18:20","date_gmt":"2022-12-29T01:48:20","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/"},"modified":"2022-12-29T07:18:20","modified_gmt":"2022-12-29T01:48:20","slug":"solved-improving-my-guessing-game-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/","title":{"rendered":"[Solved] Improving my guessing game [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-43013192\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"43013192\" data-parentid=\"43012804\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>one of 2 things could be done here either replacing the exception throwing with something else which would be something like this:<\/p>\n<p>inside Game.main() change this: <\/p>\n<pre><code>try{\n    jar.guess();\n\n} catch(IllegalArgumentException iae){\n    System.out.println(\"Please choose a valid number\");\n}\n<\/code><\/pre>\n<p>to this:<\/p>\n<pre><code>jar.guess();\n<\/code><\/pre>\n<p>simply eliminating the try catch check and inside Jar.guess() change this: <\/p>\n<pre><code>if(guess&gt;maxNumberOfItems){\n    throw new IllegalArgumentException();\n} else if (guess&lt;1){\n    throw new IllegalArgumentException();\n}\n<\/code><\/pre>\n<p>to this: <\/p>\n<p>\/\/ the || means logical OR, if either of the 2 conditions is true than the if will read true in this case<\/p>\n<pre><code>if(guess&gt;maxNumberOfItems || guess&lt;1){\n    System.out.println(\"Please choose a valid number\");\n}\n<\/code><\/pre>\n<p>however if you&#8217;re using exceptions to learn exceptions  than the reason you are having the issue is because of 2 things<br \/>\nfirst off &#8211; when the exception occurs in guess() but isn&#8217;t caught java&#8217;s exception system checks to see if guess() expects to be throwing exceptions which in your case it doesn&#8217;t, which means the exception never leaves guess() and the exception errors out and your try catch never sees the exception.<br \/>\nThe way you tell a method to pass along any exceptions of a certain type is to put the keyword throws followed by the types of exceptions it should pass along between the () and the opening { of the method head like this: <\/p>\n<pre><code>public void guess() throws IllegalArgumentException {\n<\/code><\/pre>\n<p>but that only allows your current try catch to see the exception and stops the program from erroring out<\/p>\n<p>in order to get it to keep prompting for guesses over and over the try catch in this case has to be inside the while loop that causes the repeated guessing in the first place. To do this you can either put the try catch in guess()<\/p>\n<pre><code>while(guess != numberOfItems){\n    try{\n        if(guess&gt;maxNumberOfItems){\n            throw new IllegalArgumentException();\n        } else if (guess&lt;1){\n            throw new IllegalArgumentException();\n        }\n    } catch(IllegalArgumentException iae){\n        System.out.println(\"Please choose a valid number\");\n    }\n\n    prompter.tryAgain();\n    guess = scanner.nextInt();\n    numberOfGuesses++;\n}\n<\/code><\/pre>\n<p>or you can add the throws IllegalArgumentException clause to guess() and move the while loop (and some of the variables that store things like number of guesses) outside of guess() to have guess() called once for each guess instead of once per game<\/p>\n<p>for more info about the throws clause check oracle&#8217;s java documentation <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.oracle.com\/javase\/tutorial\/essential\/exceptions\/declaring.html\">here<\/a><\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Improving my guessing game [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] one of 2 things could be done here either replacing the exception throwing with something else which would be something like this: inside Game.main() change this: try{ jar.guess(); } catch(IllegalArgumentException iae){ System.out.println(&#8220;Please choose a valid number&#8221;); } to this: jar.guess(); simply eliminating the try catch check and inside Jar.guess() change this: if(guess&gt;maxNumberOfItems){ throw new &#8230; <a title=\"[Solved] Improving my guessing game [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/\" aria-label=\"More on [Solved] Improving my guessing game [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[323],"class_list":["post-28191","post","type-post","status-publish","format-standard","hentry","category-solved","tag-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Improving my guessing game [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Improving my guessing game [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] one of 2 things could be done here either replacing the exception throwing with something else which would be something like this: inside Game.main() change this: try{ jar.guess(); } catch(IllegalArgumentException iae){ System.out.println(&quot;Please choose a valid number&quot;); } to this: jar.guess(); simply eliminating the try catch check and inside Jar.guess() change this: if(guess&gt;maxNumberOfItems){ throw new ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-29T01:48:20+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Improving my guessing game [closed]\",\"datePublished\":\"2022-12-29T01:48:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/\"},\"wordCount\":315,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"java\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/\",\"name\":\"[Solved] Improving my guessing game [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-12-29T01:48:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Improving my guessing game [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Improving my guessing game [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Improving my guessing game [closed] - JassWeb","og_description":"[ad_1] one of 2 things could be done here either replacing the exception throwing with something else which would be something like this: inside Game.main() change this: try{ jar.guess(); } catch(IllegalArgumentException iae){ System.out.println(\"Please choose a valid number\"); } to this: jar.guess(); simply eliminating the try catch check and inside Jar.guess() change this: if(guess&gt;maxNumberOfItems){ throw new ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/","og_site_name":"JassWeb","article_published_time":"2022-12-29T01:48:20+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Improving my guessing game [closed]","datePublished":"2022-12-29T01:48:20+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/"},"wordCount":315,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["java"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/","name":"[Solved] Improving my guessing game [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-12-29T01:48:20+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-improving-my-guessing-game-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Improving my guessing game [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/28191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=28191"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/28191\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=28191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=28191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=28191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}