lllrc 2020-03-12 21:40 采纳率: 0%
浏览 564
已采纳

java 异常调用的问题 无法得到正确的答案

import java.util.Scanner;

class InvalidSideException extends Exception{
    InvalidSideException(String s){
        super(s);
    }
}

class Square{
    int sl;
    public Square(int sl) throws InvalidSideException{
        if (sl <= 0){
            throw new InvalidSideException("Side length must be greater than 0");
        }else{
            this.sl = sl;
        }
    }

    public int getArea(){
        return this.sl * this.sl;
    }
}

public class Driver{
    public static void main(String[] args){
        System.out.print("Enter side length of square:");
        Scanner s = new Scanner(System.in);
        int x = s.nextInt();

        try{
            Square sq = new Square(x);
            System.out.println(sq.getArea());
        }catch(InvalidSideException e){
            e.printStackTrace();

        }
    }

}

我想得到
Enter·side·length·of·square:0
Enter◦side◦length◦of◦square:Side◦length◦must◦be◦greater◦than◦0.
但是
结果总是
Enter◦side◦length◦of◦square:
无法打印Side◦length◦must◦be◦greater◦than◦0.
求问怎么diao'yong

  • 写回答

1条回答 默认 最新

  • Json-Huang 2020-03-12 23:39
    关注

    那是因为你没有输入0,程序并没有往下执行,你可以打印x看看有没有值,执行后应该类似如下所示:
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 8月29日

悬赏问题

  • ¥15 office打开卡退(新电脑重装office系统后)
  • ¥300 FLUENT 火箭发动机燃烧EDC仿真
  • ¥15 【Hadoop 问题】Hadoop编译所遇问题hadoop-common: make failed with error code 2
  • ¥15 vb6.0+webbrowser无法加载某个网页求解
  • ¥15 RPA财务机器人采购付款流程
  • ¥15 计算机图形多边形及三次样条曲线绘制
  • ¥15 根据protues画的图用keil写程序
  • ¥200 如何使用postGis实现最短领规划?
  • ¥15 pyinstaller打包错误
  • ¥20 cesm的气溶胶排放文件