关于java金字塔内部掏空的

问题描述

关于java金字塔内部掏空的

public class taokong{
public static void main(String [] args){
int lay=7;//表示有多少层
for(int i=1;i<=lay;i++){
for(int k=1;k<=lay-i;k++){//空格规律:1行-3个,2行-2个,3行-1个,4行-0个
System.out.print(" ");
}
for(int j=1;j<=(i-1)*2+1;j++){//*打印,1-1,2-3,3-5,4-7
if(i==1||i==lay){
System.out.print("*");
}
else {if(j==1||j==(i-1)*2-1){
System.out.print("*");
}
else{
System.out.print(" ");
}
}
}
System.out.println();//打出一个换行
}
}
}
运行结果怎么是这样?:
*
*
* *

  • *

    • *
    • *
      *************

解决方案

java---金字塔
JAVA---金字塔
Java金字塔及变形

解决方案二:

结果如图 怎么解决?

解决方案三:

int lay = 7;
for(int i=1;i<=lay;i++){//输出7层
    if(i==lay){//最后一行输出全部数据
        for(int m=0;m<2*lay-1;m++){
            System.out.print(" ");
        }
    }else{
        for(int j=0;j<lay-i;j++){//内循环 输出 lay-i 个不换行空格
            System.out.print(" ");
        }
        //接着输出星星
        for(int k=1;k<=2*i-1;k++){
            //掏空,除两头外其他用空格替换
            if(k==1||k==2*i-1){
                System.out.print("*");
            }else{
                System.out.print(" ");
            }
        }
        //一行结束换行
        printf("
");
    }
}

![图片说明](http://img.ask.csdn.net/upload/201604/17/1460900895_232654.png)

解决方案四:

时间: 2024-09-28 11:02:09

关于java金字塔内部掏空的的相关文章

打印class文件的Java编译器内部的版本号

  当改变了jdk版本时,在编译java时,会遇到Unsupported major.minor version错误.错误信息如下 : Unsupported major.minor version 50.0Unsupported major.minor version 49.0 (我在jdk1.4 和1.5切换时就遇到了这个错误)Unsupported major.minor version 48.0 二.错误原因: 类似错误均属于Java版本问题,即JDK版本过低,只要选择相对应的JDK版本

学习java局部内部类时,eclipse总是提示new classinmethod存在语法错误。

问题描述 学习java局部内部类时,eclipse总是提示new classinmethod存在语法错误. package classinmethod; public class Classinmethod { void doit(){ //方法中定义类 class classinmethod{ classinmethod(){ System.out.println("constructor of classinmethod"); } '''new classinmethod(); /

Java虚拟机内部体系结构(摘记,待完善):)

Java虚拟机体内部系结构包括class文件.类装载子系统.运行时数据区.之行引擎.本地方法调用结构,其中运行时数据区包括方法区.堆.Java栈.程序计数器.本地方法栈等.具体结构如下图所示(摘自Inside Java Virtual Machine):   1.       class文件 在Java中,所有源文件都编译成二进制的字节码,然后由虚拟机装载运行.一般这样的字节码是以class文件的形式存在.在运行时,由ClassLoader类(System ClassLoader or User

java中文内部乱码处理

中文 在jsp中,中文乱码常会让人心乱如麻.一般的解决方案一.本页显示问题"<%@ page contentType="text/html;charset=GB2312"%>"二.提交问题鉴于此问题,你可以将读出来的字符串进行转换,这很简单:str = request.getParameter("s");str = new String(str.getBytes("ISO-8859-1"),"GBK&qu

Java中文问题详解(转)

问题|详解|中文 我来说一下tomcat如何实现jsp的你就明白了. 预备知识: 1.字节和unicode java内核是unicode的,就连class文件也是,但是很多媒体,包括文件/流的保存方式 是使用字节流的. 因此java要对这些字节流经行转化.char是unicode的,而byte是字节. java中byte/char互转的函数在sun.io的包中间有.其中bytetocharconverter类是中调度, 可以用来告诉你,你用的convertor.其中两个很常用的静态函数是 pub

JAVA学习,是一条漫长的道路(转贴)

作者:蔡学镛  发表日期:2001-08-13  浏览人次 :378    我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过.我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天.像我这样老式的学习方式,显然和现在的快餐主义背道而驰.从许多读者的来信和学生的反应中,我发现大多数的人对于Java的学习历程都差不多是:因为公司需要使用Java来进行服务器的计画,所以急急忙忙地学习Java语言,然后就开始使用J2EE的API,开始写起

Java中文问题及最优解决方法

解决|问题|中文 1.中文问题的来源 计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处理程序最初都是以单字节编码的英文为准进行处理.随着计算机的发展,为了适应世界其它民族的语言(当然包括我们的汉字),人们提出了UNICODE编码,它采用双字节编码,兼容英文字符和其它民族的双字节字符编码,所以,目前,大多数国际性的软件内部均采用UNICODE编码,在软件运行时,它获得本地支持系统(多数时间是操作系统)默认支持的编码格式,然后再将软件内部的UNICODE转化为本地系统默认支持

java中文解决大全(上)

解决|中文 说明:本文为作者原创,作者联系地址为:josserchai@yahoo.com.由于Java编程中的中文问题是一个老生常谈的问题,在阅读了许多关于Java中文问题解决方法之后,结合作者的编程实践,我发现过去谈的许多方法都不能清晰地说明问题及解决问题,尤其是跨平台时的中文问题.于是我给出此篇文章,内容包括对控制台运行的class.Servelets.JSP及EJB类中的中文问题我剖析和建议解决办法.希望大家指教. Abstract:本文深入分析了Java程序设计中Java编译器对jav

深入分析java中类的构造

概要:本文通过查看一个精心构造的类结构的运行输出和使用javap工具查看实际生成的java字节码(bytecode)向java程序员展示了一个类在运行时是如何构造生成的. 关键字: java 构造 javap 字节码 bytecode 按照java规范,一个类实例的构造过程是遵循以下顺序的: 1.如果构造方法(constructor,也有翻译为构造器和构造函数的)是有参数的则进行参数绑定. 2.内存分配将非静态成员赋予初始值(原始类型的成员的值为规定值,例如int型为0,float型为0.0f,