嗨,你可以说这是一个google-able问题,但我一直在环顾四周,我看到的所有例子都是针对某个问题的超级具体,所以我决定只针对我的具体问题发布自己的问题 - 这里的一些代码:http://pastebin.com/5ttK8Dry (我不希望它发布,因为我不希望有人搜索我的代码,在网上找到它,并认为我从某个地方复制它,因为这个网站会显示...请把它留在pastebin中。如果它以某种方式被删除,我会立即再次发布)。 我希望你们能够欣赏我的所有标题......:P每次我使用这个网站时都会因为一个不清楚的问题而感到害怕,所以我希望这个问题非常简单!
代码接受用户输入的风速。它使用通用的try-catch块来停止输入不匹配异常,并使用if语句确保输入的值在合法范围内。 (见pastebin)
我现在有一个环境类,它具有“风速”作为私有属性。简而言之,我需要在pastebin中创建一个面向对象的代码版本。
我必须编写自己的异常代码并封装它们,然后在我在主类中设置windpeed时抛出它们 - 如果我提供的是非法的值,程序应该像以前一样运行。
我真的不知道从哪里开始。 在我现在的代码中,我看到我需要2个例外 - 一个用于inputMismatch(已经是java的一部分),如果我输入一个太高/太低的值,则为一个。
我知道我必须为后者编写我自己的例外代码,但前者呢?那个例外已经存在......
(a)如果用户输入的值太高/太低,如何创建自己的异常? (b)如何将已存在的异常纳入流程?
我可以从那里弄清楚剩下的 - 我只需要一个开始的地方。
答案 0 :(得分:0)
try{
//get number
if(number<minRange || number>maxRange){
throw new IllegalArgumentException();
}
//Rest of stuff
}catch(InputMismatchException e){
System.out.println("Invalid input!");
System.exit(-1);
}
答案 1 :(得分:0)
public class Environment {
private double windspeed;
public Environment(double speed) throws myException{
if(speed<min || speed>max){
throw new myException();
}
}
class myException extends Exception{
}
}