1. Requisitos do assunto
Defina um método estático printStar na classe. Este método não tem valor de retorno e precisa de um número de parâmetro inteiro. Chame esse método no método principal, chame esse método e insira o valor 6 e o valor 10 para obter o resultado conforme mostrado na figura abaixo.
Dois, ideias para solução de problemas
Por meio da observação, podemos descobrir que o número de espaços na frente de cada linha é igual ao número total de linhas - o número atual de linhas. Depois disso, podemos concluir que, exceto para as duas primeiras e últimas linhas, as linhas do meio estão todas marcadas com um asterisco, e então o espaço é marcado com um asterisco. Portanto, você pode usar a instrução if para julgar estas três situações:
① Imprima um asterisco na primeira linha.
②Imprime 2xnúmero-1 (número de linhas totais) asteriscos na última linha.
③Em outros casos, imprima um asterisco, depois imprima 2xi-3 (i é o número da linha atual) espaços e, em seguida, imprima um asterisco.
Depois que a estrutura de controle de fluxo estiver clara, podemos começar a escrever o código ~
Três, implementação de código
Defina o método printStar estático
class A{
public static void printStar(int number){
for(int i=1;i<=number;i++) {
for(int m=0;m<number-i;m++) {
System.out.print(" ");
}
if(i==1) {
System.out.println("*");
}
else if(i==number) {
for(int n=1;n<=2*number-1;n++) {
System.out.print("*");
}
System.out.println("\n");
}
else {
System.out.print("*");
for(int p=1;p<=2*i-3;p++) {
System.out.print(" ");
}
System.out.println("*");
}
}
}
}
Chame a aula de teste
public class Test {
public static void main(String[] args) {
//A类静态方法调用(直接调用)
A.printStar(6);
//A类非静态方法调用(需新建对象),即将方法头的static关键字去掉,方法名重命名为unprintStar
A star=new A();
star.unprintStar(10);
}
}
Quatro, resultados em execução
A implementação geral é assim ~ Se houver amigos que não tenham certeza sobre os métodos estáticos e não estáticos, deixe uma mensagem para discutir!