Java题,图一为什么不能实现图二,图三和图四怎么实现?

图一有什么错误,为什么实现不了图二,运行只有一行五个*

第1个回答  2019-03-27

针对你图三给你一个例子,顺带解决图1的问题。

如下代码是图3的问题

    public static void main(String[] args) {  
            int n = 5;  
            String c = " ";  
            String x = "*";  
            for(int j=0;j<2*(n+1)-1;j++){  
                System.out.print(x);  
            }  
            System.out.println();  
            for (int i = 0; i < n; i++) {  
                for (int j = 0; j < 2 * n; j++) {  
                    if (j == i+1 || j == (2*n - i-1)) {  
                        System.out.print(x);  
                    } else {  
                        System.out.print(c);  
                    }  
                      
                }  
                System.out.println();  
            }  
              
        }

注意代码中的c是空格,else里的这一句“System.out.print(c);”如果不要,就是你图1中的结果。

第2个回答  2019-03-27
package jre;
/**
 * 5行星星问题
 * @author 清风理辛
 *
 */
public class Test {

public static void main(String[] args){

for(int i=1;i<=5;i++){

for(int j=0;j<=5-i;j++){
System.out.print("*");   //每行的星星循环
}

System.out.println();  // 打完没行星星后换一行
}
}
}

第一题每行打完后没有换行,

package jre;
/**
 * 5行星星问题
 * @author 清风理辛
 *
 */
public class Test {

public static void main(String[] args){

for(int i=1;i<=5;i++){

for(int j=0;j<=5-i;j++){
System.out.print("*");   //每行的星星循环
}

System.out.println();  // 打完没行星星后换一行
}
}
}

图三的

package jre;
/**
* 计算1+1/2+2/3+...+99/100
* @author 清风理辛
*
*/
public class If {

public static void main(String[] args){
double sum=1;
double j=1.0;
for(double i=2.0;i<=100;i++){
sum=sum+j/i;
}
System.out.println(sum);
}
}

图四的

本回答被提问者采纳
第3个回答  2019-03-27
打星星就是考验编程思想,对循环这个知识点的掌控力,最好还是自己想。
第4个回答  2019-03-28

图4

int n=1;
for(i=1;i<100;i++){
    n+=i/(i+1);
}
System.out.println("结果为:"+n);

//结果

相似回答