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 星穹铁道中的ai自动战斗逻辑
  • ¥15 SimpleHook 一下android fake模块的VIP日期
  • ¥15 如何在VBA中利用word的错词提示功能识别word文本中的错别字并标注
  • ¥15 c#调用c++函数 传参数问题
  • ¥15 jupyter notebook无法识别的空格,如何解决?(语言-python)
  • ¥15 自动回复评论的小插件
  • ¥20 用c++完成两道大题,要求提供.h和.cpp,以及用来测试的main.cpp
  • ¥15 2024电赛H题指导
  • ¥15 第三方如何控制E8a进行烧录
  • ¥15 关于lua调用DLL的c/c++动态库(相关搜索:数据库)