java常用的输出语句有下面三种:
System.out.println();//换行打印,输出之后会自动换行
System.out.print();//不换行打印
System.out.printf();//按格式输出
0x02:输出示例
public classtest {public static voidmain(String []args){
System.out.println(1111);//换行打印,输出后自动换行
System.out.print(1111);//不换行打印
System.out.printf("分数是:%d",88);//按格式输出
此处的白色格子有9个 ,我先打印9个空格
import java.util.Scanner;//调用扫描器的包,才能够使用输入数字,实现输入一个数 ,输出多行的空心三角形
public class Hollowtriangle//空心三角形的名字
{
public static void main(String[] args)
{
Scanner myScanner = new Scanner(System.in); //必须要有的格式,建立一个扫描器,然后往这个扫描器里面输入值
int num=myScanner.nextInt();
for(int p=0;p<num-1;p++) System.out.print(" ");
System.out.println("*");
int i=0,j=0,k=0;
for(i=1;i<=num;i++)
{
for(j=1;j<=2*num-1;j++) //根据观察得到的规律2*num-1,为最后一行,读者可以先画一个三角形,数它的行和列
{
if((j==num-i)||(j==num+i))//是根据观察得到的规律, 随着层数每次增加,,*出现的列数总是在(num-i)或者(j==num+i)
System.out.print("*");
else if(i==num-1&&j>=2&&j<=2*num-2)//我这里是强塞入最后一行的,最后一行同时避开首列和尾列
System.out.print("*");
else System.out.print(" ");
}
System.out.print("\n");//每行结束换行
}
}
}
法二:
import java.util.Scanner;
// 空心金字塔
/*
*
* *
* *
*******
*/
public class Stars03 {
public static void main(String[] args) {
// Scanner sc = new Scanner(System.in);
// System.out.println("请输入你的层数:");
// int totalLevel = sc.nextInt();
// int i = 0;//定义变量i作为金字塔层数
// while (i<totalLevel){
// int j = totalLevel;//定义变量j=层数,作为当前层要加的空格数量
// while(j>i){
// j--;
// //最后一个空格要开始遍历*号
// if (j==i){
// int k = 0;
// //星号个数为等差数列,2n-1
// int count = 2*(i+1)-1;
// while(k<count){
// if (i == totalLevel-1){
// System.out.print("*");
// }else if (k == 0 || k == count-1){
// System.out.print("*");
// }else{
// System.out.print(" ");
// }
// k++;
// }
// }else{
// System.out.print(" ");
// }
// }
// System.out.println();
// i++;
// }
Scanner sc = new Scanner(System.in);
System.out.println("请输入总层数:");
int totalLevel = sc.nextInt();
for (int i = 1; i <= totalLevel; i++){
//在输出*之前, 还有输出 对应空格 = 总层数-当前层
for (int k = 1;k <= totalLevel-i; k++){
System.out.print(" ");
}
//控制打印每层的*个数
for (int j = 1; j <= 2*i-1;j++){
if (j == 1 || j == 2 * i - 1 || i == totalLevel){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
public class Stars {
//编写一个 main 方法
public static void main(String[] args) {
/*
*
* *
* *
********
思路分析
化繁为简
1. 先打印一个矩形
*****
*****
*****
*****
*****
2. 打印半个金字塔
* //第 1 层 有 1 个*
** //第 2 层 有 2 个*
*** //第 3 层 有 3 个*
**** //第 4 层 有 4 个*
***** //第 5 层 有 5 个*
3. 打印整个金字塔
* //第 1 层 有 1 个* 2 * 1 -1 有 4=(总层数-1)个空格
*** //第 2 层 有 3 个* 2 * 2 -1 有 3=(总层数-2)个空格
***** //第 3 层 有 5 个* 2 * 3 -1 有 2=(总层数-3)个空格
******* //第 4 层 有 7 个* 2 * 4 -1 有 1=(总层数-4)个空格
********* //第 5 层 有 9 个* 2 * 5 -1 有 0=(总层数-5)个空格
4. 打印空心的金字塔 [最难的]
* //第 1 层 有 1 个* 当前行的第一个位置是*,最后一个位置也是*
* * //第 2 层 有 2 个* 当前行的第一个位置是*,最后一个位置也是*
* * //第 3 层 有 2 个* 当前行的第一个位置是*,最后一个位置也是*
* * //第 4 层 有 2 个* 当前行的第一个位置是*,最后一个位置也是*
********* //第 5 层 有 9 个* 全部输出*
先死后活
5 层数做成变量 int totalLevel = 5;
*/
int totalLevel = 20; //层数
for(int i = 1; i <= totalLevel; i++) { //i 表示层数
//在输出*之前,还有输出 对应空格 = 总层数-当前层
for(int k = 1; k <= totalLevel - i; k++ ) {
System.out.print(" ");
}
//控制打印每层的*个数
for(int j = 1;j <= 2 * i - 1;j++) {
//当前行的第一个位置是*,最后一个位置也是*, 最后一层全部 *
if(j == 1 || j == 2 * i - 1 || i == totalLevel) {
System.out.print("*");
} else { //其他情况输出空格
System.out.print(" ");
}
}
//每打印完一层的*后,就换行 println 本身会换行
System.out.println("");
}
}
}