/*
输入一个大写字符,如F
比如
输入:F
输出
FEDCBA
EDCBAB
DCBABC
CBABCD
BABCDE
ABCDEF
输入 B
输出:
BA
AB
*/
import java.util.Scanner;
class T24
{
public static void main(String[] args)
{
System.out.println("**循环输出不同排列的字母**");
System.out.println("请输入一个大写字母:");
Scanner in=new Scanner(System.in);
while(true){
String s=in.next();
char c=s.charAt(0);
while(c>'Z'||c<'A')//保证输入的是大写字母
{
System.out.println("请输入一个大写字母:");
s=in.next();
c=s.charAt(0);
}//System.out.println(c);
//c 是最后获取的大写字母
/*思路:
将字母分成两半,左右,左边是输出到A,右边是补满
*/
int mark=c-'A'+1;// mark表示每行输出几个字母
//System.out.print(mark);
for(char i=c,j;i>='A';--i)//控制行
{
mark=c-'A'+1;
for(j=i;j>='A';--j) //控制左边输出
{
System.out.print(j);
--mark; //此时mark表示此行还能打印几个字母
}
for(j+=2;j<=c&&mark>0;++j) //右边补满
{
System.out.print(j);
--mark;
}
System.out.println(); //换行
}
System.out.println("\n----------------");
}
}
}
输入一个大写字符,如F
比如
输入:F
输出
FEDCBA
EDCBAB
DCBABC
CBABCD
BABCDE
ABCDEF
输入 B
输出:
BA
AB
*/
import java.util.Scanner;
class T24
{
public static void main(String[] args)
{
System.out.println("**循环输出不同排列的字母**");
System.out.println("请输入一个大写字母:");
Scanner in=new Scanner(System.in);
while(true){
String s=in.next();
char c=s.charAt(0);
while(c>'Z'||c<'A')//保证输入的是大写字母
{
System.out.println("请输入一个大写字母:");
s=in.next();
c=s.charAt(0);
}//System.out.println(c);
//c 是最后获取的大写字母
/*思路:
将字母分成两半,左右,左边是输出到A,右边是补满
*/
int mark=c-'A'+1;// mark表示每行输出几个字母
//System.out.print(mark);
for(char i=c,j;i>='A';--i)//控制行
{
mark=c-'A'+1;
for(j=i;j>='A';--j) //控制左边输出
{
System.out.print(j);
--mark; //此时mark表示此行还能打印几个字母
}
for(j+=2;j<=c&&mark>0;++j) //右边补满
{
System.out.print(j);
--mark;
}
System.out.println(); //换行
}
System.out.println("\n----------------");
}
}
}