Java打印指定格式三角形代码无法编译,求排查解决方法
问题排查与修复方案
原代码存在的问题
- 包名
trainagkes为拼写错误,建议修正为triangles - main方法为空,未调用任何自定义的三角形打印方法,运行后无任何输出
rightTriangle方法逻辑错误:- 空格打印循环的判断条件
i >= x完全不满足预期,无法打印对应数量的前置空格 - 星号仅打印1个,没有随行数增加而增多
- 空格打印循环的判断条件
- 两个方法重复创建Scanner对象,资源浪费
- 类名未遵循Java大驼峰命名规范(非编译错误,属于规范问题)
修复后可运行代码
package triangles; import java.util.Scanner; // 类名调整为大驼峰符合Java规范 public class Triangle { public static void printRightAlignedTriangle() { try (Scanner input = new Scanner(System.in)) { System.out.print("Enter the number of lines : "); int rows = input.nextInt(); // 外层循环控制行数 for (int x = 1; x <= rows; x++) { // 打印前置空格:数量为总行数-当前行数 for (int i = 1; i <= rows - x; i++) { System.out.print(" "); } // 打印星号:数量和当前行数一致 for (int i = 1; i <= x; i++) { System.out.print("*"); } // 换行 System.out.println(); } } } public static void main(String[] args) { // 调用打印方法 printRightAlignedTriangle(); } }
运行效果
输入5时输出和需求格式完全匹配:
Enter the number of lines : 5 * ** *** **** *****
注:你提供的示例排版有偏移,实际运行是标准右对齐三角形。
内容的提问来源于stack exchange,提问作者chase Nader
相关产品推荐
相关产品推荐

