Java--异常处理

文章目录

  • 主要内容
  • 一.练习1
      • 1.源代码
          • 代码如下(示例):
      • 2.结果
  • 二.练习2
      • 1.源代码
          • 代码如下(示例):
      • 2.结果
  • 三.练习3
      • 1.源代码
          • 代码如下(示例):
    • 2.结果
  • 总结

主要内容

一.练习1

编写程序,定义一个 circle 类,其中有求面积的方法,当圆的半径小于 0时,抛出一个自定义的异常。

1.源代码

代码如下(示例):
java 复制代码
class lenghException extends Exception
{
 private double value;
 lenghException(String msg,double value)
 {
 super(msg);
 this.value=value;
 }
 public double getValue()
 {
 return value;
 }
}
public class circle
{
 private double r;
 static final double PI=3.14;
 public void setR(double r)throws lenghException
 {
 if (r<0)
 throw new lenghException("出现了半径小于 0 的情况,你的半径
不能为负数",r);
 this.r=r;
 }
 public void getarea()
 {
 System.out.println(r*r*PI);
 }
 public void getlengh()
 {
 System.out.println(2*r*PI);
 }
}
class CircleExceptionDemo {
 public static void main(String[] args) throws lenghException {
 circle circle = new circle();
 try {
 circle.setR(5);
 circle.getarea();
 circle.getlengh();
 } catch (lenghException e) {
 System.out.println(e.toString());
 System.out.println("错误的数是:" + e.getValue());
 }
 circle circle2 = new circle();
 try {
 circle2.setR(-2);
 circle2.getarea();
 circle2.getlengh();
 } catch (lenghException e) {
 System.out.println(e.toString());
 System.out.println("错误的数是:" + e.getValue());
 }
 }
}

2.结果

二.练习2

编写程序,从键盘读入 5 个字符放入一个字符数组,并在屏幕上显示。在程序中处理数组越界的异常。

1.源代码

代码如下(示例):
java 复制代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class readchar {
 public static void main(String[] args) throws IOException {
 BufferedReader buf = new BufferedReader(
 new InputStreamReader(System.in));
 System.out.print("请输入五个字符: ");
 String text = buf.readLine();
 char c[] = new char[5];
 try {
 for (int i = 0; i < text.length(); i++) {
 c[i] = text.charAt(i);
 System.out.print(c[i]);
 }
 } catch (ArrayIndexOutOfBoundsException ex) {
 System.out.println();
 System.out.println("输入字符超出要求,只显示前五个字符");
 }
 }
}

2.结果

三.练习3

编写 Java Application,要求从命令行以参数形式读入两个数据,计算它们的和,然后将和输出。对自定义异常OnlyOneException 与NoOprandException进行编程。如果参数的数目不足,则显示相应提示信息并退出程序的执行。

1.源代码

代码如下(示例):
java 复制代码
class NoOprandException extends Exception{
 NoOprandException(){
 super("没有输入数据,参数数目不足,退出此程序,请输入两个数
据!");
 }
}
class OnlyOneException extends Exception{
 OnlyOneException(){
 super("只输入了一个数据,参数数目不足,退出此程序,请输入两个
数据!");
 }
}
public class ExceptionTest
{
 public static void main(String[] args) throws 
NoOprandException,OnlyOneException {
 try{
 if(args.length==0) {
 throw new NoOprandException();
 }
 if(args.length==1) {
 throw new OnlyOneException();
 }
 double x=Double.parseDouble(args[0]);
 double y=Double.parseDouble(args[1]);
 System.out.println("输入的两数之和为:"+(x+y));
 }
 catch(Exception e){
 e.printStackTrace();
 }
 }
}

2.结果


总结

以上是今天要讲的内容,学习了异常处理。

相关推荐
wuyk555几秒前
Python零基础入门第五章:元组Tuple(不可变容器详解、列表与元组区别)
开发语言·python
风流 少年1 分钟前
Spring AI 2.0:阿里云百炼平台(工作流应用)
java·后端·spring
长谷深风1116 分钟前
AI Tool 设计:粒度、参数与错误恢复怎么做
java·大数据·人工智能·ai agent·agent工作流·智能体设计·ai产品设计
2601_965798478 分钟前
Build a Fast, High-Ranking Restaurant Website with Rolanda Theme
开发语言·ios·swift
caimouse11 分钟前
ReactOS 窗口系统分析(25):标题栏显示与系统按钮 — nonclient.c 标题栏专题
c语言·开发语言
诺伦17 分钟前
Rust 错误处理实战:从 unwrap 到优雅 Result 的进阶之路
开发语言·后端·rust
学学酱快乐22 分钟前
2026年PMP考试生命周期选择决策树精讲:从需求判断到混合型统一框架的应试全攻略
算法·决策树·机器学习·pmp新版考试大纲·pmp新题型·pmp培训哪家好·pmp培训机构推荐
傅科摆 _ py35 分钟前
动态规划复习
算法·动态规划
caimouse42 分钟前
ReactOS 窗口系统分析(14):计时器/属性/加速键/热键 — timer.c + prop.c + accelerator.c + hotkey.c
c语言·开发语言·reactos
circuitsosk1 小时前
Python 模块与包管理:import 机制、虚拟环境与 pip 完全指南
开发语言·python·pip·依赖管理·模块与包