020 实现输出杨辉三角
1 public class YangHuiTest 2 { 3 public static void main(String[] args) //String[] args含义是什么 4 { 5 int triangle[][]=new int [10][]; //创建二维数组 6 //遍历二维数组 7 for(int i = 0;i < triangle.length;i++) 8 { 9 triangle[i] = new int [i+1]; //初始化第二层数组大小 10 //遍历第二层数组 11 for(int j=0; j<=i;j++) //j<=i写成j<=1 12 { 13 if(i==0||j==0||j==i) 14 { 15 triangle[i][j]=1; //将三角两侧赋值为1 16 } 17 else 18 { 19 triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];//其他情况:该数=同列前行+前列前行 20 } 21 System.out.print(triangle[i][j]+"\t"); 22 } 23 System.out.println(); 24 } 25 26 } 27 28 }
备注:
1、String[] args的含义是什么?
string[] args ,是 声明一个参数数组
在java中,main函数的括号里带有一个参数数组,调用是可以带有任意数目个参数。
String 表示参数的类型是 字符串型,[] 表示参数是一个数组,args 数参数数组名
在方法内使用这些参数的时候,可以通过访问数组元素的形式来实现。
比如:
public static void main(String [] args) // 也可以写成 (String args[])
{
for(int i=0;i<args.length;i++)
System.out.println(args[0]);
}
在调用这些参数的时候,参数之间用空格隔开,如果某个字符串中间有空格,那么用“”把该字符串引起来即可。
注明:本段摘抄至百度之道
2、杨辉三角特征
1>三角两侧为1
2>其他情况:
triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
该数=同列前行+前列前行
3、triangle 三角 (捂脸)
昨天晚上Eclipse崩了,原因工作空间占用太大导致内存条与CPU承受不了。我的电脑是i5、4G的,运行Eclipse还是可以的(只要不要打开题多的运行空间,一般不会炸)昨天要完成的任务也因为这件事耽搁了。昨天都差点放弃用Eclipse改用interllij idea,因为太小白还是放弃了,等过段时间在调整。今天上午我又把Eclipse重新装在C盘里面(固态硬盘),效果还是不错的(不过以后再文件里面放过多的Java项目,影响电脑运行)
021空心菱形如何表示
1 public class Diamond 2 { 3 public static void main(String[] args) 4 { printHollowRhombus(6); 5 } 6 public static void printHollowRhombus(int size) 7 { 8 if(size % 2==0) 9 { 10 size++; //计算菱形大小 11 } 12 for(int i=0;i<size/2+1;i++) 13 { 14 for (int j = size/2+1;j>i+1;j--) 15 { 16 System.out.print(" "); //输出左上角位置的空白 17 } 18 for(int j=0;j<=2*i+1;j++) 19 { 20 if(j==0||j==2*i) 21 { 22 System.out.print("* "); //输出菱形上半边缘 23 } 24 else 25 { 26 System.out.print(" "); //输出菱形上半部空心 27 } 28 } 29 System.out.println(""); //换行 30 } 31 for(int i =size/2+1;i<size;i++) 32 { 33 for(int j=0;j<i-size/2;j++) 34 { 35 System.out.print(" "); //输出菱形坐下角空白 36 } 37 for(int j=0;j<2*size-1-2*i;j++) 38 { 39 if(j==0||j==2*(size-i-1)) 40 { 41 System.out.print("* "); //输出菱形下半部分边缘 42 } 43 else 44 { 45 System.out.print(" "); //输出菱形下半部分空心 46 } 47 } 48 System.out.println(""); //换行 49 } 50 } 51 52 }
运行结果:
备注:这一道题花的时间比较多(问题出在:在程序中for语句的运用,设计者堪称完美。所以想更深刻的了解每一步的运顺过程。因为不是自己写的在思路上很那理解,期间动用了Debug功能)。
一、Debug功能的实现步骤:1、先确定断点(双击代码的左侧的行数,之后会出现小圆点。),菜单的上方有一个小虫一样的图标点击后,程序会运行到该小圆点出停止,按F6会一步一步的运行。之后退出调试模式:在屏幕的右上角会看见一个小虫子点击选退出就可以了。(这个花了好久,但是依然没能解决我的问题)
二、程序的思路:1、前提是已经构建好数学运算思路2、通过双层for循环来控制空白处与字符的输出。3、先把菱形分出上下两个部分,然后再把上下两个部分再分成左右两个部分:前短的空白部分与后段的字符与空白部分;
(核心部分)
for(int i=0;i<size/2+1;i++) //计算要输出的行数
for (int j = size/2+1;j>i+1;j--) //控制每行空白格子数(由多到少)
for(int j=0;j<=2*i+1;j++) //判断要输出的是空白格子还是字符
if(j==0||j==2*i) //判断要输出的是空白格子还是字符
else System.out.println("") //转行
for(int i =size/2+1;i<size;i++) //计算要输出的行数
for(int j=0;j<i-size/2;j++) // 控制每行空白格子数(由少到多)
for(int j=0;j<2*size-1-2*i;j++) //判断要输出的是空白格子还是字符
if(j==0||j==2*(size-i-1)) //判断要输出的是空白格子还是字符
else System.out.println("") //转行
022打印九九乘法表
1 package jiujiuTable; 2 3 public class jiujiuTable 4 { 5 6 public static void main(String[] args) 7 { 8 for(int i=1;i<=9;i++) 9 { 10 for(int j=1;j<=i;j++) 11 { 12 System.out.print(j+"*"+i+"="+i*j+"\t"); 13 } 14 System.out.println(""); 15 } 16 } 17 }
备注:出现了 无法启动选择的项,最近进行任何启动 情况 原因:main 写成了 mian导致不能运算。