① java打印空心三角型,和等腰三角型,最好带有注释
一:设计思路:
1、空心的等腰三角形,用*作为三角形的边,用空格做格式控制。
2、第一行输出一个*号,且要放在正中央,具体位置需要根据三角形的高度来确定。
3、因为是等腰三角形,所以每一行由*号组成的有效字符串长度比上一行多2个。
4、综合2、3,该三角形的*号间的有效字符串长度,按1、3、5、7...规律变化
5、所以,第一行输出的*号位置由三角形的高决定,设高度为h,则第一行*号位置为第(2*h-1)/2+1,简化后为h(因为单数/2后的0.5在int型变量计算中被忽略)。
6、空心的实现中,从第二行输出*号后开始插入空格,个数每行加2,直到最后一行,不包含最后一行。
二:实现方法
1、定义三角形的高,改变该值,可以改变三角形的大小。
2、根据高闹碰度,将*号放在对应h位置,用空格做格式控制,空格个数每行-1。
3、如果是第二行且不是最后一行(大于1且小于h),在输出*号后,输出空格,以后每行多输出两个空格
4、最后一行全部输出*号液野谈
//java代码:设计空心等腰三角形
{
/**
*一:设计思路:
*1、空心的等腰三角形,用*作为三角形的边,用空格做格式控制。
*2、第一行输出一个*号,且要放在正中央,具体位置需要根据三角形的高度来确定。
*3、因为是等腰三角形,所以每一行由*号组成的有效字符串长度比上一行多2个。
*4、综合2、3,该三角形的*号间的有效字符串长度,按1、3、5、7...规律变化
*5、所以,第一行输出的*号位置由三角形的高决定,设高度为h,则第一行*号位置为第(2*h-1)/2+1,
*简化后为h(因为单数/2后的0.5在int型变量计算中被忽略)。
*6、空心的实现中,从第二行输出*号后开始插入空格,个数每行加2,直到最后一行,不包含最后一行脊旦。
*二:实现方法
*1、定义三角形的高,改变该值,可以改变三角形的大小。
*2、根据高度,将*号放在对应h位置,用空格做格式控制,空格个数每行-1。
*3、如果是第二行且不是最后一行(大于1且小于h),在输出*号后,输出空格,以后每行多输出两个空格
*4、最后一行全部输出*号
*三:图示,5层空心等腰三角形
**
***
***
***
**********
*
**/
//定义三角形的高度,改变此值,可改变三角形的大小,必须大于等于2
publicstaticfinalintHEIGHT=9;
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
intcount=HEIGHT-1; //定义输出空格个数,初值为第一行要输出的空格个数
System.out.println("空心等腰三角形,高度:"+HEIGHT);
for(introw=1;row<=HEIGHT;row++,count--){
//输出空格
for(inti=0;i<count;i++){
System.out.print("");
}
System.out.print("*");
//是第一行,则直接换行,最后一行输出全部*号,否则从第二行开始输出空格,每行+2
if(row==1){
System.out.println();
}elseif(row==HEIGHT){
for(inti=0;i<row*2-2;i++){
System.out.print("*");
}
System.out.println();
}elseif(row>1&&row<HEIGHT){
for(inti=0;i<row*2-3;i++){
System.out.print("");
}
System.out.println("*");
}
}
}
}
运行结果图:
理解思路和实现方法后,阅读代码会简单些,注意格式控制中的算式,都是有规律可循的。
② 怎么用Java的控制台输出各种三角形
比如制要打印如下三角
*
*1*
*111*
*11111*(应该都是“*”但是不让打)
这个是4行组成的,第一个行1个 第二行3个 第三行5个 第四行7个
也就是说每行*的个数和行的关系就是 (2*行数-1)
知道没行要打多少个*了之后,就要考虑空格,空格也是有规律的 一行3 二行2 三行1 四行0
可以看出,行与空格的关系就是:总行数-当前行数=当前行的空格数
现在规律找到了,写代码就容易了,4行 那外层循环就是4次,然后没一行都要先打空格,这是内层第一个循环,空格打完了 打* 这是内层第二个循环
for(int i=1;i<=4;i++){
for(int j=0;j<4-i;j++){
System.out.print(" ");
}
for(int k=0;k<2*i-1;k++){
System.out.print("*")
}
System.out.println();//这个打印起换行作用
}
③ 如何用java打出如下三角形
就是杨辉三角的实现:
importjava.util.*;//导包
classDemo//主类
{
publicstaticvoidmain(String[]args)//创建一个对象用来调用,实现控制台输入输出,因为输入的是字符,所以a.show调用对象的时候强调转换一下。
{
YangHuia=newYangHui();
Scanners=newScanner(System.in);
System.out.println("请输入一个数字代表行数:");
Stringstr=s.nextLine();
a.show(Integer.valueOf(str));
}
}
classYangHui//对象调用类名
{
publicvoidshow(intn)
{
int[][]s=newint[n+1][n+1];//定义二维数组,因为是n行,所以定义n+1,防止溢出(循环从1开始)
for(intx=1;x<=n;x++)//此大循环用于控制行数
{
for(intz=1;z<=n+1-x;z++)//此小循环用于控制每行前面的空格数,越往后越不对齐,自己调整一下
{
System.out.print("");
}
for(inty=1;y<=x;y++)//此循环用于控制每行个数
{
if(y==1)//固定每行第一个数的值,并赋予二维数组,并打印
{
System.out.print(y+"");
s[x][y]=1;
}
elseif(y==x)//固定每行最后一个数的值,并赋予二维数组,并打印
{
System.out.print(1+"");
s[x][y]=1;
}
else//用于打印出除开每行第一个与最后一个的中间数值,并赋予二维数组
{
System.out.print(s[x-1][y-1]+s[x-1][y]+"");//每一行的中间数值,都是由上一行的s[x-1][y-1]+s[x-1][y]相加而得到,并赋予二维数组
s[x][y]=s[x-1][y-1]+s[x-1][y];
}
}
System.out.println();//换行
}
}
}
④ java打印出二十六个字母组成的三角形
用Java语言打印出二十六个字母组成的三角形的程序如下:
publicclassFF{
publicstaticvoidmain(String[]args){
finalintN=5;
intk=0;
for(inti=0;i<N;i++){
for(intj=0;j<=i;j++){
System.out.print((char)('A'+k++));
}
System.out.println();
}
}
}
运行结果:
A
BC
DEF
GHIJ
KLMNO
⑤ java打印数字三角形
打印三角形实际上就是找规律输出对应的空或者数值。可以用以下方式实现:
//第一种打印方法
for(int n=1;n<4;n++) {
for(int m=1;m<=n;m++) {
System.out.print(m);
}
System.out.println("");
}
//第二种打印方法
for(int n=3;n>0;n--) {
for(int m=1;m<=n;m++) {
System.out.print(m);
}
System.out.println("");
}
//第三种打印方法
for(int n=1;n<4;n++) {
for(int k=n;k<3;k++) {
System.out.print(" ");
}
for(int m=1;m<=n;m++) {
System.out.print(m);
}
System.out.println("");
}
//第四种打印方法
for(int n=3;n>0;n--) {
for(int k=n;k<3;k++) {
System.out.print(" ");
}
for(int m=1;m<=n;m++) {
System.out.print(m);
}
System.out.println("");
}
⑥ 求java中不用for循环,打印出多种三角形,方法.
倒等腰三角
public static void main(String[] args) {
int rows=3;
for(int i=0;i<rows;i++){
for(int a=0;a<i;a++){
System.out.print("塌差 ");
}
for(int b=1;b<=2*rows-2*i-1;b++){
System.out.print("*");
}
System.out.print("改渗\n");
}
}
rows是行数,可以换成自己输入的。核衫脊