| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
ADSL如何秒变专线,公网IP盒子了解一下千里之行 始于足下
共有 496 人关注过本帖
标题:问题:判断输入的字符串是否是16进制,如果不是就抛出异常,要求用自定义的H ...
只看楼主 加入收藏
bug娃娃
Rank: 2
等 级:论坛游民
帖 子:90
专家分:27
注 册:2019-3-15
结帖率:94.74%
  已结贴   问题点数:20  回复次数:7   
问题:判断输入的字符串是否是16进制,如果不是就抛出异常,要求用自定义的HexFormatException异常
package homeWork5;

//import java.util.ArrayIndexOutOfBoundsException;
import java.io.IOException;
import java.util.InputMismatchException;
import java.util.Scanner;
 
public class T0822 {
 
    public static void main(String[] args) {
         q8();
    }
            static void q8(){     
            //create a Scanner
            Scanner in = new Scanner(System.in);
            
            try {
                //prompt the user to enter a string
                System.out.print("Enter a hex number:");
                String hex = in.nextLine();
               
                System.out.println("输入的数是否是正确的16进制数呢?" + hexPanDuan(hex));
            }
            catch(HexFormatException ex) {
                System.out.println("不是正确的16进制数");
            }            
        }
        
        public static boolean hexPanDuan(String hex) {            
            int count = 0;
            for(int i = 0 ; i < hex.length() ; i++) {
                char ch = hex.charAt(i);
                if(ch >= 'A' && ch <= 'Z' || ch >= '0' && ch <= '9')
                    count++;
            }
            if(count == hex.length())
                return true;
            else
                 throw new HexFormatException();
        }
}
   //HexFormatException异常的自定义
   class HexFormatException extends Exception{
       public HexFormatException() {
           super();
       }              
   }
这个会出现错误,1.Unhandle exception type HexFormatException ,2.Unreachable catch block for HexFormatException.This exception is never thrown from the try statement body.
求帮助
搜索更多相关主题的帖子: 进制 异常 import java Scanner 
2019-06-10 13:04
bug娃娃
Rank: 2
等 级:论坛游民
帖 子:90
专家分:27
注 册:2019-3-15
  得分:0 
说实在的我不是很会这种自定义异常,请大佬们帮帮我
2019-06-10 13:17
rind
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:49
专家分:368
注 册:2018-3-8
  得分:10 
没有捕获异常的方法中需要显式声明抛出异常
程序代码:
public static boolean hexPanDuan(String hex) throws HexFormatException {
...
    throw new HexFormatException();
...
}



仅供参考,欢迎指正
2019-06-10 15:48
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:132
帖 子:1920
专家分:8443
注 册:2015-3-19
  得分:10 
1.Unhandle exception type HexFormatException ,
2.Unreachable catch block for HexFormatException.This exception is never thrown from the try statement body.
翻译翻译两句话什么意思

知命以下无敌
2019-06-10 17:04
bug娃娃
Rank: 2
等 级:论坛游民
帖 子:90
专家分:27
注 册:2019-3-15
  得分:0 
回复 4楼 林月儿
1.取消处理异常类型HexFormatException
2.HexFormatException无法访问的catch块
2019-06-10 20:33
bug娃娃
Rank: 2
等 级:论坛游民
帖 子:90
专家分:27
注 册:2019-3-15
  得分:0 
回复 3楼 rind
这个必须这么写吗?
2019-06-10 20:34
rind
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:49
专家分:368
注 册:2018-3-8
  得分:0 
回复 6楼 bug娃娃
看异常类型的,运行时异常(RuntimeExpection)不必显式声明。其他都需要。

仅供参考,欢迎指正
2019-06-12 12:27
bug娃娃
Rank: 2
等 级:论坛游民
帖 子:90
专家分:27
注 册:2019-3-15
  得分:0 
回复 7楼 rind
喔喔,谢谢哈
2019-06-14 22:56







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018236 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved