Utwor(String x, String y, Integer z) {
tytul1 = x;
wykonawca2 = y;
rok3 = z;
if (z < 1900 || z > 2015) {
System.out.println("Rok utworu musi się zawierać pomiędzy 1900, a 2015.");
throw new IllegalArgumentException("Invalid cents value: " + z);
}
}
z应该在1900-2015年之间,并且可以正常工作。但是我不希望我的程序完全停止,而是再次询问该变量。我不确定我的做法是否正确,因为我的老师只是给了我示例代码
throw new Exception("Tytuł utworu nie może być pusty!");
而已。 最佳答案
在调用方法Utwor的位置,必须将其放在try catch块中。
boolean zIsOk = false;
do{
try{
Utwor(x, y, z);
zIsOk = true;
}
catch(IllegalArgumentException e){
zIsOk = false;
}
while(!zIsOk)
也许这不是最好的答案,但是它可行:)
如果必须要求用户重新输入z号,则可以在catch块中添加Console.ReadLine()。