gpt4 book ai didi

java - Try、catch 和异常处理

转载 作者:太空宇宙 更新时间:2023-11-04 14:10:23 25 4
gpt4 key购买 nike

Test类:

package learning;

import java.io.IOException;
import java.util.Scanner;

public class Test {
static Scanner user = new Scanner(System.in);
public static void main(String[] args) {
Test2 t = new Test2();
try {
t.run(0);
} catch (Exception e) {
try {
t.run(user.nextInt());
} catch (Exception ee) {
try {
t.run(user.nextInt());
} catch (Exception dd) {}
}
}
}
}

Test2类:

package learning;

import java.io.IOException;

public class Test2 extends Test {
public int x = 0;

public void run(int a) throws Exception, IOException {
do {
if (a > 1)
System.out.println(a);
x = x + 1;
if (a < 1) {
System.out.println("you're wrong");
throw new Exception();
}
} while (x==0);
}
}

如果a > 0,它将停止运行,但是当我用字符串回答时,它也会停止运行。如何让程序再次询问,如果我输入 2 次低于 1 的数字,它也会停止运行,如何让它无限循环?

最佳答案

让任何事情变得无穷无尽的最简单方法是在其上抛出一个 while(true) 循环。更好的编程实践可能包括通过执行 while(started) 和将started 设置为 false 来正确处理。

就你的情况而言,我不确定你的意图是什么......所以以下内容应该有效。还要摆脱那个 do while 循环。老实说,这段代码完全可以写得更干净,但你现在可以先玩一下。

public class Test {
static Scanner user = new Scanner(System.in);
public static void main(String[] args) {
Test2 t = new Test2();
while(true) {
try {
t.run(user.nextInt());
Thread.Sleep(50);
} catch (Exception e) {
}
}
}

关于java - Try、catch 和异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28400767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com