5-3 编程练习 怎么写
5-3 编程练习 用星号输出一个梯形,如下图所示:(使用嵌套for循环完成) public class StarDemo { public static void main(String[] args) { String n="* * *"; String m=" * *"; System.out.println(n); for(int j=1;j<=5;j++){ n=n+m; System.out.println(n); }}
如果想用for 里面嵌套两个for 怎么写呢?
正在回答 回答被采纳积分+1
public class StarDemo {
public static void main(String[] args) {
// 输出星号组成的梯形
int m=4; // 初始空格数
int n = 3; // 初始星星数
for(int z=1;z<=5;z++){
for(int j=1;j<=m;j++){
System.out.print(" ");
}
for(int i=1;i<=n;i++){
System.out.print("* ");
}
m--;
n+=2;
System.out.println();
}
}
}
public class StarDemo { public static void main(String[] args) { // 输出星号组成的梯形 for(int n=1;n<=5;n++){ int u=1; for(;u<=11+2*n;u++){ if(u%2 ==0|u<10-2*n){ System.out.print(" "); }else{ System.out.print("*"); } } System.out.println(); } } }
package com.Imooc.operator; public class Prictise { public static void main(String[]args) { int m=1;//外循环变量 for(;m<=5;m++) { for(int i=1;i<=5-m;i++) { System.out.print(" "); } for(int j=1;j<=m+2;j++) { System.out.print("* "); } System.out.println(); } } } 参考一下吧,注意"* "里面*后面有个空格。
解答思路:public static void main(String[] args) {
//外部循环控制行数,内部循环分别控制空格和星号的输出
for(int i=1;i<=5;i++){
for(int j=1;j<=???;j++){
System.out.print(" ");}
for(int k=1;k<=???;k++){
System.out.print("*");
}
System.out.println();
}
问号处怎么填呢?如何找到行数和空格的规律
从上面的星号图形可以看出,第一行(i)输出4个空格(j),3个星号(k);第二行输出3个空格,5个星号,可以列个一元二次方程来求解行数和星号、空格的关系。
a*i+b=j ,其中 a、b为待定系数
当i=1时,j=4;当i=2,j=3
解 a+b=4, 2a+b=3, 得 a=-1,b=5, 所以 5-i=j
同样的办法找到行数和星号数的规律
a*i+b=k, 当i=1时,k=3;当i=2,k=5
解 a+b=3, 2a+b=5, 得 a=2,b=1, 所以 2*i+1=k
public static void main(String[] args) {
//外部循环控制行数,内部循环分别控制空格和星号的输出
for(int i=1;i<=5;i++){
for(int j=1;j<=5-i;j++){
System.out.print(" ");}
for(int k=1;k<=2*i+1;k++){
System.out.print("*");
}
System.out.println();
}
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星