一个很简单的java程序if问题,请高手帮助,谢谢各位

如题所述

public class PrintSample {

public static void myPrint(int k) {
for (int j = 0; j < k; j++) {
System.out.print("*");
int m = k - j - 1, n = j;
if (m == 0) {
m = k - 1;
n = 0;
}
for (int i = 0; i < n; i++)
System.out.print(" ");
for (int i = 0; i < m; i++)
System.out.print("*");
System.out.println();
}
}

public static void main(String[] args) {
myPrint(7);
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-13

代码如下:

分别使用了for循环和while循环。

public class Test {
public static void main(String[] args) {
inForLoop();
System.out.println("\r\n=======");
inWhileLoop();
}
public static void inWhileLoop(){ //while的写法
int rowNum = 7;    //行数
int row = 0;

while(row<rowNum){

    int col = 0;
    if(row == rowNum-1){
     while(col< rowNum){  
     System.out.print("*");
     col++;
     }
     row++;
     continue;
}
    while(col< rowNum){    //因为每一列也是7个,所以不再定义变量。
        if(col>0 && col<=row){
            System.out.print(" ");
        } else {
            System.out.print("*");
        }
        col++;
    }
    System.out.println();
    row++;
}

}
public static void inForLoop(){
int rowNum = 7;    //行数
for (int row = 0; row < rowNum; row++) {
if(row == rowNum -1){
for(int col = 0 ; col < rowNum ; col ++){
System.out.print("*");
}
continue;
}
for(int col = 0 ; col < rowNum ; col ++){
if (col > 0 && col <=row) {
System.out.print(" ");
} else {
System.out.print("*");
}
}
System.out.println();
}
}
}

第2个回答  推荐于2016-10-21
int o=6;
String m="";
for(int i=0;i<o;i++){

m+="*";

for(int j=0;j<i;j++){
m+=" ";
}

for(int j=0;j<o-i;j++){
m+="*";
}
m+="\n";

}

m+="*******";
System.out.println(m);
System.out.println("End of processing...");

}本回答被提问者和网友采纳
第3个回答  2014-10-13
这个是循环输出。。用for
相似回答