我发现只要键盘输入的字符不是“java“,就会一直循环
System.out.println("请输入字符串:"); String str = input.nextLine();这两个代码行,输入java后catch才会执行,这是为什么,我现在还不太懂在try里面用throw new 的意思,求解答!
package 测试多态;
import java.util.Scanner;
public class exceptiontest2 extends Exception
{
public exceptiontest2() throws exceptiontest2
{
Scanner input = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = input.nextLine();
if(str.equals("java"))
{ System.out.println("正常");}
else
{
throw new exceptiontest2();
}
}
public static void main(String args[]) {
try {
throw new exceptiontest2(); //改成exceptiontest2 a=new exceptiontest2();程序执行结果一样,为什么会这样?
} catch (exceptiontest2 a) {
a.printStackTrace();
}
}
}