NumberFormatException异常【java】

【java】NumberFormatException异常

课本P426 T12.1
( NumberFormatException异常)程序清单7-9是一个简单的命令行计算器。注意,如果某个操作数非数值,程序就会中止。编写一个程序,利用异常处理器来处理非数值操作数;然后编写另一个不使用异常处理器的程序,达到相同的目的。程序在退出之前应该显示一条消息,通知用户发生了操作数类型错误(参见图12-12 )。
在这里插入图片描述

源代码

package leiPackage;
import java.util.*;
public class NumExp {
	  public static void main (String[] args) {
	    int num1, num2, result = 0;
	    if (args.length != 3) {
	      System.out.println(
	        "please use operand1 operator operand2");
	      System.exit(1);
	    }
	    try {
	      num1 = Integer.parseInt(args[0]);
	    }
	    catch (NumberFormatException ex) {
	      System.out.println("Wrong Input: " + args[0]);
	      return;
	    }
	    try {
	      num2 = Integer.parseInt(args[2]);
	    }
	    catch (NumberFormatException ex) {
	      System.out.println("Wrong Input: " + args[2]);
	      return;
	    }
	    switch (args[1].charAt(0)) {
	      case '+': result = num1 + num2;
		        break;
	      case '-': result = num1 - num2;;
	                break;
	      case '.': result = num1 * num2;;
		        break;
	      case '/': result = num1 / num2;;
	    }
	    System.out.println(args[0] + " " + args[1] + " " + args[2] + " = " + result);
	  }
}

运行结果

在这里插入图片描述

补充说明、注意事项、常见错误及踩过的坑

最开始的时候在NumExp.java所在源文件目录下输入命令:java NumExp时显示 错误:找不到或无法加载主类NumExp,如下图所示

在这里插入图片描述
从网上搜索答案后:
在包下的类,在Java源文件的地方编译后,需要到外层包的上一级目录下运行,而且类前面需要带包名,以.隔开

所以,我们必须先编译java文件,用javac命令。
用javac命令后按空格再按Tab键会自动补全包目录,再在后面接着输入文件名.java

编译完成之后,再输入java 包名.文件名 后按enter
之后,再输入java 包名.文件名 4 + 5 enter键等逐个进行测试NumberFormatException

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值