接收用户输入的一个大写字母,如“C”,要求输出如下字母金字塔,其中“_”代表空格:__A_ABAABCBA

具体要求:(1)容许接收多次输入,直到输入为“0(零)”;(2)如果输入非大写字母,则给出提示,并要求重新输入;希望某位编程高手帮忙解决一下,不胜感激。。。... 具体要求:
(1) 容许接收多次输入,直到输入为“0 (零)”;
(2) 如果输入非大写字母,则给出提示,并要求重新输入; 希望某位编程高手帮忙解决一下,不胜感激。。。
展开
 我来答
匿名用户
2013-03-29
展开全部
代码 如下 import java.io.IOException;public class test3 {

//判断输入的是否是 大写字母
public boolean in_mess(int i)
{
boolean bool= false;
if(i>=65 && i<=90)
{
bool =true;
}

return bool;
}

//输出 信息
public void Out(int i)
{
if(i==65)
{
System.out.println((char)i);
}
else
{
// 1: 金字塔 样式规划
for(int a=65;a<=i;a++)
{
//2: 输出空格
for(int d=0;d<=i-a;d++)
{
System.out.print(" ");
}
// 3:打印A-i(输入字母)
for(int b=65;b<a;b++)
{
System.out.print((char)b+" ");
}
// 4: 打印i-A
for(int c=a;c>=65;c--)
{
System.out.print((char)c+" ");
}
// 5: 换行
System.out.println();
}
}
}

public static void main(String [] args)
{
//查看char A Z 0(零)的值
//System.out.println((int)'A'+"---"+(int)'Z'+"---"+(int)'0');
test3 t=new test3();

try {
System.out.println("请输入数字");
int i =System.in.read();

while( i!=48) // (int)'0' =48
{

if(t.in_mess(i)) //调用方法 判断 是否是大写字母
{
t.Out(i); //调用方法 打印输出
i=48;
}
else
{
// 不是大写字母 再次输入
i =System.in.read();
}

}

} catch (IOException e) {
System.out.print("输入错误");
}
System.out.println("退出");

}

} //当输入 G 时 输入结果 截图希望对你有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式