【问题标题】:Why this method doesn't want to be executed more than 1 times per line为什么此方法不希望每行执行超过 1 次
【发布时间】:2016-12-20 22:10:00
【问题描述】:

根据我的理论,这段代码应该打印一个三角形的星星,在这种情况下,每行 5 行将比之前的行多 1 颗星,但实际上它在 1 颗星上打印 5 行,为什么?

public class Main {

private static void printStars(int amount){
    System.out.print("*");
    }
private static void printTriangle(int size){
    int i = 0;
    int b = 0;
    while (size > i){
        printStars(b);
        System.out.println("");
        b++;
    i++;        
    }
}
public static void main(String[] args) {
    printTriangle(5);
    }}

【问题讨论】:

  • private static void printStars(int amount) 你确定吗?你在哪里使用amount...?
  • printStars中添加循环:for(int i = 0; i<=b; i++) System.out.print("*");

标签: java methods


【解决方案1】:
private static void printStars(int amount){
    for(int i=0; i<amount+1; i++)
        System.out.print("*");
}

【讨论】:

  • 更好的是:System.out.print(Strings.repeat("*", amount));System.out.print(StringUtils.repeat("*", amount));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多