java打印金字塔格式的指定字母表
我在用Java打印半金字塔格式的字母表XXYY时遇到了一些问题。以下是用户输入高度7时的预期输出:
XX
YYXX
XXYYXX
YYXXYYXX
XXYYXXYYXX
YYXXYYXXYYXX
XXYYXXYYXXYYXX
这是我的代码:
public static void main(String[] args){
int height = 0;
String display = "";
Scanner sc = new Scanner(System.in);
System.out.print("Enter height: ");
height = sc.nextInt();
for(int i = 1; i <= height; i++){
for(int j = 1; j <= i; j++){
if(j %2 == 0){
display = "YY" + display;
}else{
if(j == 1){
display = "XX";
}
}
System.out.print(display);
}
System.out.println();
}
}
我的逻辑是首先检查偶数/奇数行,然后将XX或YY添加到显示字符串中。首先检查第一行,然后将XX添加到显示字符串中。然后,如果是偶数行,我将YY附加到显示字符串的前面
但我的问题是,我不知道如何计算每行的XX和YY的数量。以下是我的输出:
XX
XXYYXX
XXYYXXYYXX
XXYYXXYYXXYYYYXX
XXYYXXYYXXYYYYXXYYYYXX
XXYYXXYYXXYYYYXXYYYYXXYYYYYYXX
XXYYXXYYXXYYYYXXYYYYXXYYYYYYXXYYYYYYXX
# 1 楼答案
你把事情复杂化了。每一行的字母对数与行号相同(第一行一对,第二行两对,以此类推)。第一行以“XX”开头,然后开始在“XX”和“YY”之间交替。以类似的方式,在这一行中,在确定了开始字母后,在两对字母之间交替:
# 2 楼答案
这应该可以做到:
并且也适用于单
for
循环