编写程序,用循环打印输出以下的字符图案[c+++++问题] 5
DDDDDDDCCCCCBBBABBBCCCCCDDDDDDD【提示】打印字符图案时,应找出每一行字符的个数与行数的关系。第一行上打印输出0个空格和7个字符'D',第二行...
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
图形上面打错了 展开
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...
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...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询