编写程序,用循环打印输出以下的字符图案[c+++++问题]

DDDDDDD
CCCCC
BBB
A
BBB
CCCCC
DDDDDDD
【提示】打印字符图案时,应找出每一行字符的个数与行数的关系。第一行上打印输出0个空格和7个字符'D',第二行上打印输出1个空格和5个字符'C',第三行上打印输出2个空格和3个字符'B',第四行上打印输出3个空格和1个字符'A'。可以设变量i控制行,j控制空格数,k控制字符个数。
后三行的打印输出可以同样考虑。
DDDDDDD D在中间像沙漏一样
CCCCC
BBB
A
BBB
CCCCC
DDDDDDD
图形上面打错了

package src;

import java.io.*;
import java.io.IOException;

public class OutStar {//输出*号的类

public static void main(String[] args) {//MAIN方法,程序入口

File file = new File("c:\\EX050310.txt");//创建文件对象FILE
try {//try catch 方法来捕捉异常。
file.createNewFile();//在硬盘上创建文件。
PrintWriter out = new PrintWriter(file);//创建输出流
for(int i = 0; i < 5; i ++) {

out.print("*");//这是输出每行的第一个*号

for(int ii = 0; ii < i; ii ++) {//这是内层循环,每次输出的空格加星号加一

out.print(" *");
}
out.println();//一行输出完毕,换行
}
out.close();//关闭输出流

} catch (IOException e) {

e.printStackTrace();
}

//下面测试下面那个方法的代码

OutStar os = new OutStar();//创建一个本类对象,负责调用下面那个去数字的方法。

System.out.println(os.CollectDigits("1lkj2lkj3lkjlkjl4lkj56lkj"));//调用方法并将返回的结果打印输出
}

public String CollectDigits(String s) {//你需要的那个方法。

String result = "";//定义一个字符串,负责将挑出来的结果保存

StringBuffer str = new StringBuffer(s);//将传进来的字符串赋给课编辑的字符串对象STRINGBUFFER。

for(int i = 0; i < str.length(); i++) {//循环,每次取字符串里面的一个字符。

char tmp = str.charAt(i);//取出一个字符。

if(tmp >= '0'&& tmp <= '9') {//这里用的是比较字符的ASCII码。如果取到的字符是数字。

result += tmp;//则按取到的先后顺序保存到result字符串里面。
}
}
return result;//返回数字字符串。
}
}

第二个方法我直接写在第一个的类里面了。测试的代码也写在了里面。自己看看吧。呵呵

不明白的可以继续补充。o(∩_∩)o...
温馨提示:内容为网友见解,仅供参考
无其他回答

编写程序,使用C++循环语句打印如下图案:* *** *** ***...
void main(){ int i,j,k;for(i=1;i<=10;i++) \/\/先打印上边的10行 { for(j=1;j<=10-i;j++) \/\/控制要打印的空格数量 printf(" ");for(k=1;k<=2*i-1;k++) \/\/控制要打印的星号数 printf("*");printf("\\n");} for(i=9;i>=1;i--) \/\/先打印上边的9行 { for(...

c++ 用循环语句编程打印如下图案
public static void main(String[] args) { System.out.println("第一个图形");test1(8,17);System.out.println("第二个图形");test(9);} public static void test1(int rownum,int colnum){ for(int i=0;i<rownum;i++){ for(int m=0;m0;j--){ System.out.print("# ");} Sy...

用循环语句编程打印如下图案(C++)
include<iostream>using namespace std;int main() { for(int i=1; i<=10; i++) { for(int j=11-i; j>0; j--) { cout<<" "; } for(int k=0; k<2*i-1; k++) { cout<<"#"; } cout<<"\\n"; }}运行结果:...

急求 用C++输出以下图案 用循环语句
include <iostream>using namespace std;int main(){ for(int i=0;i<=5;i++) { for(int j=0;j<i;j++) { cout<<" "; } cout<<"***"<<endl; } } 有问题随时追问

c++ 编写程序输出以下图案
程序:include (iostream.h)void main(void){int i,j,n=4;for(i=1;i<=n;i++)\/\/输出前4行图案 {for(j=1;j<=30;j++)cout<<' ';\/\/在图案左侧空30列 for(j=1;j<=8-2*i;j++)cout<<' ';for(j=1;j<=2*i-1;j++)cout<<'*';cout<<endl;} for(i=1;i<=n-1;i++...

c++ 编写程序输出以下图案 [编程]
程序:include (iostream.h)void main(void){int i,j,n=4;for(i=1;i<=n;i++)\/\/输出前4行图案 {for(j=1;j<=30;j++)cout<<' ';\/\/在图案左侧空30列 for(j=1;j<=8-2*i;j++)cout<<' ';for(j=1;j<=2*i-1;j++)cout<<'*';cout<<endl;} for(i=1;i<=n-1;i++...

用C++语言编写一个程序:使用循环输出如下图形。可以接受B或B之后的字 ...
{int i;for(i = 0; i < 'D'-c; i ++)printf(" ");for(i = c; i>='A'; i --)printf("%c ", i);for(i = 'B'; i<=c; i ++)printf("%c ", i);printf("\\n");}int main(){char c;int i;c = getchar();if(c == 'A')printf("请输入大于A的其他字符...

c++用循环语句编写程序输出下面的图形:1 23 456 7890
include<iostream> using namespace std;int main(){ int a[10]={1,2,3,4,5,6,7,8,9,0};int i,j,k=0;for(i=1;i<5;i++){for(j=0;j<i;j++)cout<<a[k++]<<"\\t";cout<<endl;} return 0;}

用c++循环语句打印个图案
include<stdio.h>#define N 4void main() { int i,j; for ( i=0;i<N;i++ ) { for ( j=0;j

用C++编写程序输出以下图案
include<stdio.h>int main(void){ int a,i,n = 5; for(i=1;i<=n;i++){ for(a=1;a<n-i+1;a++) printf(" "); for(a=1;a<=i;a++) printf("*"); printf("\\n\\n"); } for(i=1;i<n;i++){ for(a=1;a<=i;a++) printf(" "...

相似回答
大家正在搜