这是我第一次使用异常处理,所以要温柔。我有一个简单的 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) 我只是学习递归而我是以相反的顺序打印输入数组(不使用任何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,但只改变了返回的数量.
我如何修复它以返回打印整个整数?
好吧,我有一个带有'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 ×3
clone ×1
equals ×1
instanceof ×1
integer ×1
recursion ×1
throw ×1
tostring ×1
try-catch ×1
while-loop ×1