永发信息网

用Java打印如下图形的代码

答案:2  悬赏:60  手机版
解决时间 2021-06-03 11:33
  • 提问者网友:龅牙恐龙妹
  • 2021-06-02 19:17

。。。

请教各位高手,谢谢。各位请帮帮忙,我是新手。

(要求:最好不用数组,按规律至少输出7行,输出后排列错落有致)

最佳答案
  • 五星知识达人网友:深街酒徒
  • 2021-06-02 19:36

public class Demo {
public static void show(){
for(int i =1 ; i<=8; i++){
//输出控制的格式
for(int k = (8-i)*3 ;k>=1;k--){
System.out.print(" ");
}
//输出左边的数字
for(int j = 1;j<=i;j++){
int max = getMax(j);
System.out.print((max>100?max:max>10?" "+max:" "+max));
}
//输出右边的数字
for(int m = i-1;m>=1;m--){
int max = getMax(m);
System.out.print((max>100?max:max>10?" "+max:" "+max)+" ");
}
System.out.println();
}
}
private static int getMax(int i) {
int max = 1 ;
for(int j = 1;j<i;j++){
if((i-1)==0){
max = 1;
break;
}else{
max=2*max;
}
}
return max;
}
public static void main(String[] args) {
show();
}
}


我都给你测试好你 直接运行就可以了

全部回答
  • 1楼网友:孤老序
  • 2021-06-02 19:54

思路:

for(i=1;i<=7;i++) //i 作为 行 看待

for(j=1;j<=2*i-1;j++) //j 作为 列 看待 每行 输出 奇数个 数

System.out.print( "这里 分 两部分 来看 , pow(2,k++)的思路 .. 前面 在 累加 k ; 这里 也 可 for循环

后面 的 pow(2,k--) 也用一个 for 循环

pow 则要 import.java.math 这个类库

不用pow 方法,则用 s =s *2 的for 思路

后面

// 存在 2^7 = 128 .. 与 前面 对齐,最好每个数输出有 3 个 空格 // 注意 ,是 数位 低的 3个 空格

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯