1: A implementação comum da tabuada de multiplicação 99 é muito simples, até um programador pode fazer isso. A implementação é a seguinte:
pacote test.ms;classe pública Test99 { public static void main(String[] args) { for(int i=1; i<=9;i++){ for(int j=1; j<=i; j++){ System.out.print(j+" * "+i+ " = "+(i*j) +" " } System.out.println();
2: Use recursão para implementar a tabuada de multiplicação de 99
O código é o seguinte:
package test.ms;public class MultiTable { public static void main(String args[]) { m(9); /** * Imprima a tabuada de multiplicação* @param i */ public static void m(int i) { if (i == 1) { System.out.println("1*1=1 "); else { m(i - 1); System.out.print(j + "*" + i + "=" + j * i + " " } System.out.println();
Chame o ícone recursivamente:
Cada chamada de método irá gerar um quadro de pilha e colocá-lo na pilha de métodos. Quando uma chamada recursiva for feita, o quadro de pilha na pilha de métodos será semelhante à imagem acima.
É mais intuitivo remover o relacionamento de referência do quadro de pilha no método: conforme mostrado na figura a seguir:
A execução final da chamada do método correspondente é simplificada conforme mostrado na figura acima. Observe que i está mudando e j começa em 1 a cada vez e depois aumenta até ser igual a i.
Desta forma, depois que a imagem acima é retirada da pilha, são obtidas 99 tabuadas:
Resumir:
Comparação de loops for aninhados e implementação de recursão:
A pilha é usada principalmente para armazenar quadros de pilha. Cada vez que um método é executado, ocorrerá uma operação push. No entanto, o uso de recursão afetará mais. um loop for será executado. Existe um método que empurra o quadro de pilha uma vez e existe apenas um quadro de pilha, portanto, economiza memória.
Bem-vindo a me dar um joinha. Até ficar inconsciente.