在今天对于for循环以及有参方法的构造当中,书上的demo我根据指导敲完,如下:
package study.cainiao.forDemo;
public class TestMenthod2 {
public static void main(String[] args) {
drawStar(5);
drawStar(8);
drawStar(12);
}
/*
* 创建方法:
*【修饰符】 返回值类型 方法名(【形参列表(可以一个或多个)】){方法体}
* */
public static void drawStar(int x){
for (int i = 1;i <= x;i++){
System.out.println();
for (int j = 1;j <= i;j++){
System.out.print("*");
}
}
}
}
打印结果如下:
在这个demo中,我思考到一个问题:我可不可以通过控制台的输入,去控制三角形的打印个数以及三角形的行数。
首先,行数这个问题十分容易解决,只要修改drawStar();方法的一个参数即可,但是如何打印出多个呢?不可能我现在想打印两个三角形,待会儿想打印四个,总要改代码,而我正好学到了for循环,于是出现如下代码:
package study.cainiao.forDemo;
import java.util.Scanner;
public class TestMenthodOther {
public static void main(String[] args) {
int a;
int b = 0;
int c;
Scanner sc = new Scanner(System.in);
System.out.print("请输入你想要打印的三角形个数,并在每个三角形打印之前输入你想要的行数(以回车键结束):");
a = sc.nextInt();
for (int k = 1;k <= a; k++){
b = sc.nextInt();
drawStar(b);
}
}
public static void drawStar(int x){
for (int i = 1;i <= x;i++){
System.out.println();
for (int j = 1;j <= i;j++){
System.out.print("*");
}
}
}
}
结果如下:
由于刚开始初学这门语言,不知道往下有没有办法能够克服掉这几个需要输入的数字夹杂在三角形之间的问题,以现在学到的知识来说,还是办不到,毕竟现在能想到的是靠for循环来保证每次打印都可以录入不同行数。