编写一个Java应用程序,从键盘输入若干个正整数,如果输入为负数,抛掷自定义的异常

编写一个Java应用程序,使用一个访问数组元素下标超界的语句,人为抛出一个除零错异常,使用try和catch语句捕捉这些异常并输出出错信息。编写一个Java应用程序,从键... 编写一个Java应用程序,使用一个访问数组元素下标超界的语句,人为抛出一个除零错异常,使用try和catch语句捕捉这些异常并输出出错信息。
编写一个Java应用程序,从键盘输入若干个正整数,如果输入为负数,抛掷自定义的异常,捕捉异常后,输出错误信息程序继续运行,直到输入为0时终止运行。
怎么编写啊?要声明2次么,一个是错误,一个是方法?
展开
 我来答
ymiqplgao
推荐于2018-04-15 · TA获得超过646个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:393万
展开全部
package com.kk.language_faculty.exception;

public class TestThrowsException1 {

public static void main(String[] args) {
TestThrowsException1 te = new TestThrowsException1();
te.check(new int[] { 1, 2, -3, 4, 5, 6, 10, -1, });
}

public void check(int[] arr) {
for (int i : arr) {
if (i < 0) {
try {
throw new NegativeArraySizeException(arr);
} catch (NegativeArraySizeException ne) {
System.out.println("发生了异常, 正在处理中..." + ne.toString());
}
} else {
System.out.println("--- " + i + " ---");
}
}
}
}

@SuppressWarnings("serial")
class NegativeArraySizeException extends Exception {
private int[] array;

public NegativeArraySizeException(int[] array) {
this.array = array;
}

public int[] getArray() {
return array;
}
}

/////////////////////////
package com.kk.language_faculty.exception;

/*
* 创建一个类Example,有一个String 型参数的方法---check() ,该方法用来检查参数中是否包含英文字母以外的字符。
* 如果包含,则抛出一个MyException异常。
*/
public class TestThrowsException2 {
public void check(String str) {
char temp = ' ';
for (int i = 0; i < str.length(); i++) {
temp = str.charAt(i);
if ((temp >= 'a' && temp <= 'z') || (temp >= 'A' && temp <= 'Z')) {
System.out.println(temp + " 是字母");
} else {
try {
throw new MyException(str);
} catch (MyException e) {
System.out.println("异常发生!!!字符串 " + e.getContent()
+ " 中由字符 " + temp + " 导致异常!" + e.getMessage());
}
}
}
}

public static void main(String[] args) {
TestThrowsException2 example = new TestThrowsException2();
example.check("aa00bb11cc88dd//ee..ff,,gg--hh==jj((kk))zz");
}
}

/*
* 创建一个异常类,将其命名为MyException,继承自Exception类。其中定义一个字符串成员content.
* 生成一个构造方法对其赋值。并有一个成员方法取得其值。
*/
@SuppressWarnings("serial")
class MyException extends Exception {
private String content;

MyException(String content) {
this.content = content;
}

public String getContent() {
return content;
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2011-10-11 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
application 1:
public class First {

public static void main(String[] args) {

int[] ary = {1, 2, 3, 4, 5};

for(int i = 0; i <= ary.length; i++){
try{
System.out.println(ary[i]);
}catch(ArrayIndexOutOfBoundsException exp){
throw new ArithmeticException("Divided by zero");
}
}

}

}

---------------------
第二个
import java.util.Scanner;

public class Second {

public static void main(String[] args) {

class MyException extends Exception {
public MyException(String s) {
super(s);
System.err.println(s);
}
}

// second application
while (true) {
System.out.print("Please input a number(0 to exit):");
int input = new Scanner(System.in).nextInt();

if (input == 0) {
System.exit(0);
} else if (input < 0) {
try {
throw new MyException(
"Number inputted can't be less than zero! Please try again(0 to exit)!");
} catch (MyException e) {
continue;
}
}
}

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式