异常处理

来源:互联网 发布:磁选机选矿的数据分析 编辑:程序博客网 时间:2024/06/08 18:33

先从键盘输入一个十六进制数,再将其转化为十进制数,然后输出。若输入的不是一个有效的十六进制数,则抛出异常。


package 第七章;import java.util.Scanner; /*File name:homework1.cppAuthor:yangliuDate:2017/11/14IDE:eclipsedescribe:Java异常处理*/class homework1{public static void main(String[] arge) {System.out.println("请输入一个十六进制数");Scanner cs=new Scanner(System.in);String S=cs.next();exchange ex=new exchange(S);try {ex.Change16To10();}catch(MyException e){e.printcount();}}}class exchange{  String s;  private int y;  exchange(String s){this.s=s;} int getY(){return y;}  void setY(int y){this.y=y;}  //进制转换void Change16To10()  {  int y=0;  int i,k;  for(i=0;i<s.length();i++)  {   k=Change(s.charAt(i));  //字符转换成整数数字 y+=k*Math.pow(16,s.length()-(i+1));  }  System.out.println(y); System.out.println("成功转换");  }  //将一个字符型数字转化成整型数字  int Change(char h)  {   int x;  switch(h)     {     case'0': x=0;  break;     case'1': x=1; break;    case'2': x=2;  break;     case'3':  x=3; break;    case'4': x=4; break;     case'5': x=5; break;     case'6': x=6; break;    case'7': x=7; break;     case'8': x=8; break;    case'9': x=9; break;   case'A':   case'a': x=10; break;     case'B':   case'b': x=11; break;    case'C':   case'c': x=12; break;    case'D':   case'd': x=13; break;   case'E':   case'e': x=14; break;   case'F':   case'f': x=15; break;    default:    throw new MyException();    }       return x;  } }class MyException extends RuntimeException {   public MyException() {}  public MyException(String msg){   super(msg);  }     public void printcount() {  System.out.println("十六进制数输入不正确");   } }


原创粉丝点击