Design and Implementation: Jarvis is an AI machine that responds to the users' commands and has a variety of tasks it can do. It also has the ability to learn new information and remember it for the user if it does not already know the given information. It works simultaneously alongside its brain and keywords as a way to find a solution or output for the input provided by the user. If Jarvis is incapable of finding a proper response to the input provided by the user, then Jarvis requests the user to provide the answer to the question as a way for it to learn and remember for future references. Also, if the user does not know the answer and Jarvis cannot provide a sufficient output, then the user can request Jarvis to google the question as a way to resolve the problem. If the user wishes to, they can provide the answer to Jarvis after finding a sufficient enough answer from the website: google. We created several methods and manipulated Arraylists to hold each line from the keywordsForAI.txt as a way for Jarvis to match the input with the keywords that activate the pre-programmed methods. The list contains the keywords in the form capitalized, alongside the capitalization of the input, to eliminate any problems. Due to both the keywords from the line of the keyWordsForAI.txt and the input are placed in an array; spaces are eliminated when matching with the input and keywords. If the words match with the input, Jarvis will look at the end of the keywords array since the element of the array will contain which pre-programmed method should activate. If none of the keywords match, then Jarvis looks inside of its brain to match the information with the input provided by the user. If neither the keywords nor the information stored in Jarvis matches the input provided by the user, then Jarvis will request the user to provide an answer to the question for future references. Jarvis will take the answer provided by the user and then collect the already stored information inside Jarvis' brain and rewrite the file to contain the question and the answer provided by the user for future references.
Challenges: Most of the team members are not familiar with importing external libraries and utilize them. We had to practice and test each of the unqiue commands while also laying out the structure of the code in a clean and efficient manner.