我目前对此功能有疑问。我在getSongsArray(numSongs);中遇到numSongs的错误;说我需要抛出一个异常(未报告的异常Exception;必须被捕获或声明被抛出)。以下是我当前拥有的说明和代码。我只是一个女孩,在这个问题上苦苦挣扎了大约3个小时,而此时我已经绝望了。
说明: 编写一个名为getSongsArray的方法,该方法采用一个整数参数(numSongs), 返回一个字符串数组,并声明为抛出异常。如果 传递的参数为负值,引发异常。除此以外, 循环numSongs次,提示用户每次输入另一个名称 循环。返回此名称数组。
调用getSongsArray传递要返回的数组大小(任何整数)
public static void main(String[] args)
{
Scanner scnr = new Scanner(System.in);
System.out.println("How many songs would you like to enter?");
int numSongs = scnr.nextInt();
getSongsArray(numSongs);
} //end main
public static int getSongsArray(int numSongs) throws Exception
{
if (numSongs <= 0)
{
throw new Exception("Invalid Number");
}
} //end getSongsArray
答案 0 :(得分:0)
您的问题是getSongsArray
会引发异常,而您的main
函数中没有捕获此异常。
解决方案很简单:捕获错误消息;
public static void main(String[] args)
{
Scanner scnr = new Scanner(System.in);
System.out.println("How many songs would you like to enter?");
int numSongs = scnr.nextInt();
try {
getSongsArray(numSongs);
} catch (Exception e){
System.out.println("Error!");
}
} //end main
但是您仍然会遇到其他问题,因为您尚未完全完成任务。此处的帖子仅回答有关unreported exception
错误的特定问题!