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!");
而且就是这样。
答案 0 :(得分:4)
如果你调用你的方法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()。