问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java的一个小程序,判断输入数字的位数,要用到异常处理

发布网友 发布时间:2022-04-26 21:44

我来回答

3个回答

热心网友 时间:2023-11-06 20:39

你的getnum方法 定义的时候需要返回int ,但你的方法体里面没有return,报错了

其实这个地方不用返回

            public void getnum(int i) throws AAException {
                if (i < 0 || i > 9999) {
                    throw new AAException();
                }
                if (i >= 0 && i <= 9)
                    System.out.print("一位数");
                else if (i >= 10 && i <= 99)
                    System.out.print("两位数");
                else if (i >= 100 && i <= 999)
                    System.out.print("三位数");
                else if (i >= 1000 && i <= 9999)
                    System.out.print("四位数");
            }

在调用的时候,这样写

        try {
            String s = stdin.nextLine();
            double ii = Double.parseDouble(s);
            int i = (int) ii;
            a.getnum(i);
        } catch (AAException e) {
            System.out.println(e.toString());
        }

追问能给一个完整的程序么,最好运行过的,不懂啊!

追答

AAException.还是用你自己的,我给你重写下A

class A {
    public static void main(String args[]) {
        Scanner stdin = new Scanner(System.in);
        System.out.println("请输入任意一个0到9999的数字");

        try {
            String s = stdin.nextLine();
            double num = Double.parseDouble(s);
            getnum(num);
        } catch (AAException e) {
            System.out.println(e.toString());
        }
    }

    private static void getnum(double i) throws AAException {
        if (i < 0 || i > 9999) {
            throw new AAException();
        }
        if (i >= 0 && i <= 9) {
            System.out.print("一位数");
        } else if (i >= 10 && i <= 99) {
            System.out.print("两位数");
        } else if (i >= 100 && i <= 999) {
            System.out.print("三位数");
        } else {
            System.out.print("四位数");
        }
    }
}

热心网友 时间:2023-11-06 20:39

import java.util.*;

public class A {
class AAException extends Exception
{
String a;
   AAException(){
 a="输入数据出错";
   }
 public String toString(){
  return a;
   }
}
class BB{
public int getnum(double i) throws AAException
{
if(i<0||i>9999)
{
AAException exception=new AAException();
throw exception;
}
if(i>=0&&i<=9)
System.out.print("一位数");
else if(i>=10&&i<=99)
System.out.print("两位数");
else if(i>=100&&i<=999)
   System.out.print("三位数");
else if(i>=1000&&i<=9999)
System.out.print("四位数");
}
}
public static void main(String args[]){
Scanner stdin=new Scanner(System.in);
BB a=new BB();
int result=0;
System.out.println("请输入任意一个0到9999的数字");
try{
String s=stdin.nextLine();
double ii=Double.parseDouble(s);
result=a.getnum(ii);   
  }catch(AAException e){
  System.out.println(e.toString());
    }
}
}

热心网友 时间:2023-11-06 20:40

public static void main(String[] args) throws ParseException {
while (true) {
Scanner stdin = new Scanner(System.in);
int result = 0;
System.out.println("请输入任意一个0到9999的数字");

try {
String s = stdin.nextLine();
double ii = Double.parseDouble(s);
int i = (int) ii;
result = getnum(i);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}

public static int getnum(int i) {
int num = 0;
if (i < 0 || i > 9999) {
throw new RuntimeException("请重新输入");
}
System.out.println(String.valueOf(i).length() + "位数字");
return i;
}
这样简单多了

热心网友 时间:2023-11-06 20:39

你的getnum方法 定义的时候需要返回int ,但你的方法体里面没有return,报错了

其实这个地方不用返回

            public void getnum(int i) throws AAException {
                if (i < 0 || i > 9999) {
                    throw new AAException();
                }
                if (i >= 0 && i <= 9)
                    System.out.print("一位数");
                else if (i >= 10 && i <= 99)
                    System.out.print("两位数");
                else if (i >= 100 && i <= 999)
                    System.out.print("三位数");
                else if (i >= 1000 && i <= 9999)
                    System.out.print("四位数");
            }

在调用的时候,这样写

        try {
            String s = stdin.nextLine();
            double ii = Double.parseDouble(s);
            int i = (int) ii;
            a.getnum(i);
        } catch (AAException e) {
            System.out.println(e.toString());
        }

追问能给一个完整的程序么,最好运行过的,不懂啊!

追答

AAException.还是用你自己的,我给你重写下A

class A {
    public static void main(String args[]) {
        Scanner stdin = new Scanner(System.in);
        System.out.println("请输入任意一个0到9999的数字");

        try {
            String s = stdin.nextLine();
            double num = Double.parseDouble(s);
            getnum(num);
        } catch (AAException e) {
            System.out.println(e.toString());
        }
    }

    private static void getnum(double i) throws AAException {
        if (i < 0 || i > 9999) {
            throw new AAException();
        }
        if (i >= 0 && i <= 9) {
            System.out.print("一位数");
        } else if (i >= 10 && i <= 99) {
            System.out.print("两位数");
        } else if (i >= 100 && i <= 999) {
            System.out.print("三位数");
        } else {
            System.out.print("四位数");
        }
    }
}

热心网友 时间:2023-11-06 20:39

import java.util.*;

public class A {
class AAException extends Exception
{
String a;
   AAException(){
 a="输入数据出错";
   }
 public String toString(){
  return a;
   }
}
class BB{
public int getnum(double i) throws AAException
{
if(i<0||i>9999)
{
AAException exception=new AAException();
throw exception;
}
if(i>=0&&i<=9)
System.out.print("一位数");
else if(i>=10&&i<=99)
System.out.print("两位数");
else if(i>=100&&i<=999)
   System.out.print("三位数");
else if(i>=1000&&i<=9999)
System.out.print("四位数");
}
}
public static void main(String args[]){
Scanner stdin=new Scanner(System.in);
BB a=new BB();
int result=0;
System.out.println("请输入任意一个0到9999的数字");
try{
String s=stdin.nextLine();
double ii=Double.parseDouble(s);
result=a.getnum(ii);   
  }catch(AAException e){
  System.out.println(e.toString());
    }
}
}

热心网友 时间:2023-11-06 20:40

public static void main(String[] args) throws ParseException {
while (true) {
Scanner stdin = new Scanner(System.in);
int result = 0;
System.out.println("请输入任意一个0到9999的数字");

try {
String s = stdin.nextLine();
double ii = Double.parseDouble(s);
int i = (int) ii;
result = getnum(i);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}

public static int getnum(int i) {
int num = 0;
if (i < 0 || i > 9999) {
throw new RuntimeException("请重新输入");
}
System.out.println(String.valueOf(i).length() + "位数字");
return i;
}
这样简单多了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
win7不能浏览网页,但用搜狗浏览器高速模式能上网,兼容就不行???求 ... ...64位 IE浏览器无法打开网页 搜狗浏览器可以打开 类似的新窗口网页都... 千牛工作台子账号怎么开权限?子账号的安全设置在哪里? 千牛怎么设置子账号-千牛设置子账号步骤 怎么把CD里的歌曲改成MP3格式? ...戴眼镜吗?想给孩子去检查一下,哪里比较推荐,渭南这块的 Windows Media Player将CD音乐转换为MP3 最简单的方法将CD转换为MP3音频文件(一步一步教你将CD音乐转换为MP3格 ... 孩子最近视力下降了有可能是近视吗?渭南哪里可以免费检查视力啊 奥运会跳远世界纪录 JAVA判断字符串的小程序,有点问题! Java 怎样判断输入的不是数字 帮忙看一个java小程序,输入命令行参数,判断是否为正整数 如何用Java正则表达式检测字符串是否是数字组成的 用VB设计小程序,自动判断输入的字符是字母字符、数字字符还是其他字符? ...&#65532; 谁有《楼下的房客》电影资源,求分享 谁有电影楼下的房客的资源 谁有《楼下的房客》电影完整版资源,百度云,迅雷都可以 楼下的房客电影百度云 求一部电影 楼下的房客 求电影 楼下的房客 楼下的房客电影 求楼下的房客电影资源,百度云的 谁有《楼下的房客》电影资源,求分享 跪求《楼下的房客》电影资源。 求《楼下的房客》电影百度云,急求,谢谢! 楼下的房客(任达华,庄凯勋主演电影)什么时候上映 任达华演过一部电影,里面扮演一个变态房东,什么电影? 电影版 楼下的房客 最后女儿怎么了,没看懂 网友对《楼下的房客》这部电影的评价是什么? 求编一个小程序C++:判断一个数是否是质数,考虑异常情况。 如何用java编写一段可判断string数组中是否有某个字符串的小程序? 汇编 写小程序 判断字符串是否相等 JAVA如何用正则表达式判断一个字符 它必须是数字组成且“-”必须是在数字中间!谢谢 微信小程序获取一个字符串的值 C语言写了一个小程序,统计输入字符串长度的。函数调用不太会,请大侠帮忙调试一下 各位大哥帮小弟做个汇编小程序拉,拜托拉,最好有流程图.. 怎么统计一个字符串里各个字符及数字的个数? 会使水冰冷的白凉粉是什么东西? OPPO手机开不了机,一直在重复着开机怎么办? 我跟朋友承包个人的一个分包工地,木工,跟个人老板签的劳务承包合同。只有甲方是老板名字还有身份证号。 oppo手机无限重启三种方法 oppo一直震动重启且无法进入 木工劳务分包(包清工)包给个人可以吗,需要资质吗? 木工是劳务分包还是专业分包 急!急!急!联想笔记本电脑“Q&quot;这个键按不出来了怎们办 手提电脑q键不停自己打出来,怎么办 联想笔记本电脑自动不停按q 为什么我的笔记本电脑从开机就一直按q键 该怎么解决啊!? 由于以前搞过QQ安全验证,现在用手提电脑上Q都要验证,用密码卡或用绑定的手机发信息。请问怎样解除?