例如,输入5并显示以下内容:
* * * * *
* * *
*
我当前的代码是这样的: 公共静态void main(String [] args){ 扫描仪输入=新的Scanner(System.in);
int num = 4;
while(num % 2 == 0){
System.out.println("Introduce un numero impar:");
num = in.nextInt();
if (num % 2 == 0){
System.out.println("Has introducido un numero par");
}
}
for (int numFila = 0; numFila < num; numFila++) { //filas
for (int numColumna = 0; numColumna < num*2-1; numColumna++) { //columnas
if (numFila <= numColumna){
System.out.print(" * ");
}else{
System.out.print(" ");
}
}
//Salt de línia per començar un altre fila
System.out.println();
}
}
我可以显示以下内容:
* * * * * * *
* * * * * *
* * * * *
答案 0 :(得分:0)
只需在您的if语句中添加numColumna <= num - numFila - 1
。
整个代码是:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = 4;
while(num % 2 == 0){
System.out.println("Introduce un numero impar:");
num = in.nextInt();
if (num % 2 == 0){
System.out.println("Has introducido un numero par");
}
}
for (int numFila = 0; numFila < num; numFila++) { //filas
for (int numColumna = 0; numColumna < num*2-1; numColumna++) { //columnas
if (numFila <= numColumna && numColumna <= num - numFila - 1){
System.out.print(" * ");
}else{
System.out.print(" ");
}
}
//Salt de línia per començar un altre fila
System.out.println();
}
}
}
答案 1 :(得分:0)
我会这样写代码:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = 4;
while(num % 2 == 0){
System.out.println("Introduce un numero impar:");
num = in.nextInt();
if (num % 2 == 0){
System.out.println("Has introducido un numero par");
}
}
int rows = (num + 1) / 2;
for(int i = rows; i >= 1; i--) {
for(int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for(int j=i; j <= 2 * i - 1; j++) {
System.out.print(" * ");
}
for(int j = 0; j < i - 1; j++) {
System.out.print(" * ");
}
System.out.println();
}
}