Can i use the throws clause on a static method?
Here is my code, it has an error in it.The error is in the line highlighted in bold. The error is:Code:import java.util.ArrayList;
import java.util.Iterator;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
/**
* Store items
*
* @author Daniel Morgan [362724]
* @version 1.0
*/
public class Library
{
private static ArrayList theItems;
/**
* Create a library
*/
public Library()
{
//ArrayList that will store all the new items
theItems = new ArrayList();
}
/**
* Run from command line
*/
public static void main()
{
//Create a new library
Library newLib = new Library();
//Start command interface
retrieveInput();
}
/**
* Create a new item and add it to the library arraylist
*
* @param Name The name of the item
* @param cost The cost of the item
*/
public static void createItem(String Name, int cost)
{
//Create a new instance of an item
Item newItem = new Item(Name, cost);
//Add it to the array list
theItems.add(newItem);
}
/**
* Print all items in the library
*/
public static void printAll()
{
//Create an iterator
Iterator itCount = theItems.iterator();
//Loop through all items in the library
while(itCount.hasNext())
{
Item currentItem = (Item)itCount.next();
//Print the item details
currentItem.print();
}
}
/**
* Retrieve the user input and provide the command interface
*
* @throws IOException
*/
public static void retrieveInput() throws IOException
{
//The input reader
BufferedReader usrInput = new BufferedReader(new InputStreamReader(System.in));
//'Name' and 'Cost' variables
String itemName = "";
String inputAnswer= "";
int itemCost = 0;
Boolean contInput = true;
while(contInput = true)
{
//Prompt user to create a new item
System.out.println("Do you want to create an item? (Yes or No)"); System.out.println("> ");
//Read input
inputAnswer = usrInput.readLine();
//Check input
if(inputAnswer.toLowerCase().equals("yes"))
{
//Prompt user for item 'Name'
System.out.println("Item name?"); System.out.println("> ");
//Read input
itemName = usrInput.readLine();
//Prompt user for item 'Cost'
System.out.println("Item Cost?"); System.out.println("> ");
itemCost = Integer.parseInt(usrInput.readLine());
//Create the item
createItem(itemName, itemCost);
//Notify user of success
System.out.println("Item created successfully");
//Print a blank line, for presentation purposes
System.out.println();
}//End If
//Prompt the user to print all items
System.out.println("Do you want to print all items? (Yes or No)"); System.out.println("> ");
//Read input
inputAnswer = usrInput.readLine();
//Check input
if(inputAnswer.toLowerCase().equals("yes"))
{
//Print all items
printAll();
//Print a blank line, for presentation purposes
System.out.println();
}//End If
//Repeater
System.out.println("Repeat this process? (Yes or No)"); System.out.println("> ");
//Read input
inputAnswer = usrInput.readLine();
//Check input
if(inputAnswer.toLowerCase().equals("yes"))
{
//Set continue flag
contInput = true;
}
else
{
//Set continue flag
contInput = false;
}//End If
}//End While
}
}
Unreported exception java.io.IOException; must be caught or declared to be thrown.
