一道oj题-字母圣诞树
字母圣诞树
题目描述
打印一个字母圣诞树。
输入
第一行是一个整数K,表示样例的个数。以后每个样例是一个大写英文字母,占一行。
输出
输出对应的字母圣诞树,每行末尾没有空格,每个圣诞树的最后一行前无空格。
样例输入
5
A
B
C
D
E
样例输出
A
AAA
A
AAA
B
BBBBB
A
AAA
B
BBBBB
C
CCCCCCC
A
AAA
B
BBBBB
C
CCCCCCC
D
DDDDDDDDD
A
AAA
B
BBBBB
C
CCCCCCC
D
DDDDDDDDD
E
EEEEEEEEEEE
java和c语言还是有许多的不同地方,还是稍微总结一下
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
while(n>0){
char a = in.next().charAt(0);
//char b = 'A'; java的两种定义方法
int k = a - 'A';
int i,j;
for (i=0;i<=k;i++){
for (j=0;j<=k;j++) System.out.print(" ");
System.out.print((char)('A'+i));
System.out.println();
for(j=0;j<k-i;j++) System.out.print(" ");
for (j=0;j<=2*i+2;j++){
System.out.print((char)('A'+i));
}
System.out.println();
}
n--;
}
}
}
首先是输入:
要引入一个包,然后输入Scanner… in可以修改,但是得与下边的变量保持一致。
import java.util.Scanner;
Scanner in = new Scanner(System.in);
1、整型
int n = in.nextInt();
2、浮点型
Scanner in = new Scanner(System.in);
float i=in.nextFloat();
double j=input.nextDouble();
3、字符
Scanner in = new Scanner(System.in);
String n =in.nextLine();
char a = in.next().charAt(0);
char只能单个字符
然后是类型的转化:
如题中将int 型转化为 ascll码 char类型
System.out.print((char)('A'+i));
不同类型不能进行计算,所以得熟练的转化和定义好数据类型
例如开始使用的是String n =in.nextLine(); 就无法计算,但是String又无法转化为char类型