先导
先前学习到这里一直让我苦恼了很久,我反应有点慢,一直想不明白,所有决定用一些时间认真研究一下,详细过程在下面,希望你帮到在这里卡到的小伙伴.
四个方向的乘法口诀
先上一张9x9的矩形
控制台是这样的(统一从左上开始看)
在这里我们可以看出i就是竖着的列,范围是1-9
j是横着的行,范围1-9
所以代码就是
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
System.out.print(i+"*"+j+"\t");
}
}
现在我们就开始打印乘法口诀了
第一种是左下,我们只要左下的部分
因为我们要的那部分是i>=j,所以加一个判断就好了
for (int i = 1; i <=9; i++) {
for (int j = 1; j <=9; j++) {
if(i>=j){
System.out.print(i+"*"+j+"\t");
}
}
System.out.println();
}
控制台
第二种就是右上,右上简单来说就是我们左下不要的那部分,所以我们只要把左下打印成空格,只要右上就好
for (int i = 1; i <=9; i++) {
for (int j = 1; j <=9; j++) {
if(i>j){
System.out.print("\t");
}else{
System.out.print(i+"*"+j+"\t");
}
}
System.out.println();
}
注意:两个j范围是9-1
第三种种是左上,我们要左上的部分
可以看出我们要的左上部分就是i<=j
for (int i = 1; i <=9; i++) {
for (int j = 9; j >=1; j--) {
if(i<=j){
System.out.print(i+"*"+j+"\t");
}
}
System.out.println();
}
第三种的就是我们左上不要的那部分,所以只需要把左上打印成空格就好
for (int i = 1; i <=9; i++) {
for (int j = 9; j >=1; j--) {
if(i<j){
System.out.print("\t");
}else{
System.out.print(i+"*"+j+"\t");
}
}
System.out.println();
}
任意图形
例子:打一个菱形
for (int i = 1; i <=3; i++) {//外行for控制行数
for (int j = 1; j <=i+2; j++) {//内层循环范围1-结尾
if(j<4-i){//从头开始打印空格到开始处
System.out.print(" ");
}else{
System.out.print("*");
}
}
System.out.println();
}
for (int i = 1; i <=2; i++) {
for (int j = 1; j <=(5-i); j++) {
if(j<i+1){
System.out.print(" ");
}else{
System.out.print("*");
}
}
System.out.println();
}
控制台
指定数组,打印图形
例子:
遇到这种题一定要找到规律,并且数组之类的需要找到最大值max
控制台
总结
其实很多都是我在总结微博是在发现转折在呢,所以我觉得写博客还是很有用的,冲冲冲------------------路漫漫其修远兮.