Java判断三个整数能否构成三角形程序运行无输出问题咨询
问题原因&修复方案
卡顿根因
你编写的程序逻辑本身没有问题,出现无输出卡顿的核心原因是StdIn.readInt()是阻塞式读取方法:输入完三个整数后程序仍在等待输入流结束信号,没有往下执行输出逻辑。只需要在输入完三个数字后手动触发结束标识即可:
- Windows系统按下
Ctrl + Z - macOS/Linux系统按下
Ctrl + D
优化方案
如果不想每次测试都手动触发结束信号,可以改用JDK自带的Scanner类实现输入读取,完整修改后代码如下:
import java.util.Scanner; public class TriangularTest1 { public static boolean isTriangular (int a, int b, int c) { return (a + b > c && b + c > a && c + a > b); } public static void main(String args[]) { Scanner scanner = new Scanner(System.in); int s1 = scanner.nextInt(); int s2 = scanner.nextInt(); int s3 = scanner.nextInt(); scanner.close(); if (isTriangular(s1, s2, s3)) System.out.print("True"); else System.out.print("False"); } }
补充说明
你原本写的isTriangular静态方法逻辑完全符合题目要求的判断规则,无需改动。
内容的提问来源于stack exchange,提问作者gizmo.java
相关产品推荐
相关产品推荐

