☞实现要求
如图,打印以下效果
☞实现思路
//用row变量接收用户要求的行数,用i控制行数,用k控制星星的数量,行数与星星数量相等且无变化就是矩形
//用row变量接收用户要求的行数,用i控制行数,用j控制空格数量来体现星星到左边的距离,数好每一行星星的数量并列出来,发现是个等差数列,那么找到这个等差数列与行数之间的关系,逐行打印出来就是三角形
//用row变量接收用户要求的行数,用i控制行数,用j控制空格数量来体现星星到左边的距离,用k控制列数
☞代码内容
|--矩形
public class XunHuanJuXing {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
//询问用户需要输出几行
System.out.println("需要输出几行");
int row = sc.nextInt();
//i控制行数
for (int i = 1;i<=row;i++){
//k控制每行星星的数量
for (int k=1;k<=row;k++){
System.out.print("*");
}
//换行
System.out.println();
}
}
}
|--三角形
public class XunHuanSanJiao {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
//询问用户要输入几行
System.out.println("输出几行");
int row = sc.nextInt();
//使用i控制行
for (int i =1;i<=row;i++){
//控制空格
for (int j=1;j<=row-i;j++){
System.out.print(" ");
}
//控制星号数量
for (int k = 1;k<=(2*i)-1;k++){
System.out.print("*");
}
System.out.println();
}
}
}
|--平行四边形
public class XunHunPingXingSiBianXing {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
//提示输入几行
System.out.println("输出几行");
int row = sc.nextInt();
//i控制行数
for (int i = 1;i<=row;i++ ){
//j控制空格数量
for (int j =1;(j<=row-i);j++){
System.out.print(" ");
}
//k控制星星数量
for (int k =1;k<=row;k++){
System.out.print("*");
}
//换行
System.out.println();
}
}
}
☞运行结果
|--矩形
|--三角形
|--平行四边形
☞优化方向
☞错误记录
中途多次将System.out.print()打印成System.out.println。导致如下现象
发生原因:println每打一个字符都会换行,而print会连续打印所有字符
解决方法:将println更换为print