小编use*_*043的帖子

带异常处理的while循环

这是我第一次使用异常处理,所以要温柔。我有一个简单的 blob 类,它接受一个 ID,该 ID 必须在 30 到 50 之间,否则会引发异常。

public class Blob {
int id;

public Blob() {

}

public Blob(int id) throws Exception {
    this.id = id;
    if (id < 30 || id > 50)
        throw new Exception ("id = " +id+ ", must be between 30 and 50 inclusive");
}
}
Run Code Online (Sandbox Code Playgroud)

它应该提示用户输入一个 id,如果它不在 30 到 50 之间,则抛出异常,并且应该继续直到用户输入有效的输入,然后只显示 id 号。

public class BlobCreator {

public static void main(String[] args) {
    int id;
    Scanner scan = new Scanner(System.in);
    System.out.println("Enter …
Run Code Online (Sandbox Code Playgroud)

java exception-handling try-catch throw while-loop

2
推荐指数
1
解决办法
2万
查看次数

重复以相反的顺序打印整数

我只是学习递归而我是以相反的顺序打印输入数组(不使用任何String或Character方法).

例如,4295将显示为5924.

public static void method_c(int n) {
    if (n > 0) {
        System.out.println(n % 10);
        n /= 10;
    }
Run Code Online (Sandbox Code Playgroud)

有这个代码但它只返回5,所以我猜它不会通过做递归回来.我认为它可能是放置n /= 10,但只改变了返回的数量.

我如何修复它以返回打印整个整数?

java recursion integer

1
推荐指数
1
解决办法
1974
查看次数

在toString中使用equals或instanceof

好吧,我有一个带有'MartianManager'类的程序:*注意代码不完整仍然有一些缺失的部分只是提供了整个代码,以供参考完成后它将如何完成

import java.util.ArrayList;

public class MartianManager {
private ArrayList<Martian> martians;
private ArrayList<Martian> teleporters;

public void addMartian(Martian m) {
    martians.add(m);
    if(m instanceof GreenMartian)
        teleporters.add(m);
}
//public Object clone() {

public Martian getMartianClosestToID(int id) {  
}
public void groupSpeak() {
    for(Martian m : martians) {
        m.speak();
    }
}
public void groupTeleport(String dest) {    
}
}
Run Code Online (Sandbox Code Playgroud)

和火星类:

public abstract class Martian implements Cloneable {
int id;

public Martian(int id) {
    this.id = id;
}
public Object clone() throws CloneNotSupportedException {
    return super.clone();
} …
Run Code Online (Sandbox Code Playgroud)

java clone equals instanceof tostring

0
推荐指数
1
解决办法
658
查看次数