我正在学习java try catch并使用以下代码
public static void main(String[] args) {
Scanner in = null;
int i = 0;
try {
in = new Scanner(System.in);
System.out.print("Enter a number: ");
i = in.nextInt();
} catch (InputMismatchException ex) {
System.out.printf("%nPlease enter a number: %d", in.nextInt());
} finally {
if (in != null) {
System.out.println();
System.out.println("Finally block !!!");
in.close();
}
}
}
运行那些程序并输入一个字符串,返回带有堆栈跟踪的java并退出(不要求用户输入正确的数字)。 如果我在catch块中删除了in.nextInt(),我看不到堆栈跟踪,但也没有要求用户输入 - 立即退出。
我无法弄清楚我的代码有什么问题
答案 0 :(得分:3)
import matplotlib.pyplot as plt
import numpy as np
x_start, x_end = 0. , 10.
y_start , y_end = 0. , 8.
i = np.linspace(x_start, x_end, 80)
j = np.linspace(y_start, y_end, 50)
X,Y = np.meshgrid(i,j)
Y[:,:40] += 1
plt.figure()
plt.plot(X,Y, color="grey", lw=0.72)
plt.plot(X.T,Y.T, color="grey", lw=0.72)
plt.show()
块的工作原理如下:
try catch finally
块中的代码,在这种情况下,让用户输入内容。try
中指定的异常,则只执行catch
阻止一次的代码。catch
块中的代码。如果您要等到用户输入finally
,您应该使用int
或for
循环:
while