Maison tutoriels informatiques connaissances en informatique Pas familier avec le code de méthode récursive Java

Pas familier avec le code de méthode récursive Java

Jan 13, 2024 pm 07:48 PM

Pas familier avec le code de méthode récursive Java

Le code Java ne comprend pas les méthodes récursives

C'est aussi une méthode en boucle. Elle peut être difficile à comprendre pour les débutants... Laissez-moi vous expliquer

Par exemple, le paramètre dans la méthode fun() est 100. Permettez-moi de le changer en 2

Le but de cette méthode récursive est d'accumuler. Le résultat est le même que l'accumulation de boucle, mais la méthode d'exécution est différente.

Le processus d'exécution du programme est le suivant :

Lorsque vous passez 2, le programme exécutera le contenu dans else

C'est-à-dire return temp+fun(temp-1);

Le retour réel est : 2+fun(2-1);

C'est-à-dire : 2+fun(1) change le paramètre d'origine 3 en 2 ;

Permettez-moi de commencer. Il s'agit d'un programme d'accumulation, alors retirez-en 3 et attribuez-le à la somme définie précédemment, donc la somme actuelle = 2 ;

Comme il s'agit d'une méthode récursive, la méthode fun(int temp) doit être exécutée à plusieurs reprises ;

C'est juste que le paramètre devient désormais 1

La prochaine procédure se déroulera donc comme suit :

Parce que le paramètre est 1, il entrera dans le if

Il renverra donc 1 ;

Donc la somme actuelle devrait être la somme précédente plus le 1 renvoyé par le fun actuel(1)

donc.....maintenant la somme devrait être : 2+1=3 ;

Je viens de donner un exemple du cycle entre deux nombres. Le cycle entre les 98 autres nombres est également comme ça

.

En bref, la récursivité signifie continuer à s'appeler jusqu'à ce que les conditions ne puissent plus être remplies, alors il ne s'appellera plus

Jetez un œil, c'est peut-être un peu trop. Je veux l'expliquer plus clairement. Je l'ai déjà rencontré, mais je n'ai demandé à personne d'autre. Si vous ne comprenez pas, demandez-moi à nouveau. ...

Algorithme récursif Java Si vous avez des revenus élevés, entrez ! Implémenté en utilisant la récursion

Le travail est très beau. Si vous pouvez réaliser une interface de ce niveau, ce petit problème ne devrait pas être difficile pour vous.

La question ici est :

1. Pour concevoir la structure de ce graphique, le moyen le plus simple est d'utiliser un tableau.

2. Comment énumérer les nœuds connectés. En termes simples, il s’agit de juger le coin supérieur gauche, le coin supérieur droit, la gauche, la droite, le coin inférieur gauche et le coin inférieur droit.

3. Comment déterminer la même couleur en séquence ? L'algorithme le plus simple est la méthode d'inondation. Commencez simplement à regarder dans les 6 directions ci-dessus. Après avoir trouvé le point suivant, commencez à regarder dans les 6 directions. . .

Le code approximatif est le suivant :

classe Lapin

{

final int D_UP_LEFT = 1;

final int D_UP_RIGHT = 2;

final int D_LEFT = 3;

final int D_RIGHT = 4;

final int D_DOWN_LEFT = 5;

final int D_DOWN_RIGHT = 6;

getColor () ;

getCloseRibbit (direction intérieure)

{

... // Voici la fonction pour amener les lapins adjacents dans la direction spécifiée

// Sinon, renvoie null .

}

int getColor () {}

Liste checkColor ()

{

Liste ArrayList = new ArrayList () ;

doCheckColor (liste, ceci) ;

liste de retour ;

}

void doCheckColor (Liste liste, Rabbit r)

{

if (r.getColor () != this.getColor () || list.contains (r))

retour ;

list.add (this) ;

pour (int i = D_UP_LEFT ; i

{

Lapin suivant = r.getCloseRibbit (i) ;

if (suivant != nul)

next.doCheckColor (liste, r) ;

}

}

}

La liste résultante contient les lapins de la même couleur que vous souhaitez.

Comment utiliser la méthode récursive en JAVA pour obtenir nn de 1 à m

Récursion utilisant des tableaux :

cours public Test12 {

int statique M = 4;

int statique N = 3;

static int[] a= new int[]{1,2,3,4};

static int[] b = new int[N];

public static void main(String[] args){

C(M,N);

}

vide statique C(int m,int n){

int i,j;

pour(i=n;i

b[n-1] = i-1;

si(n>1)

C(i-1,n-1);

autre {

pour(j=0;j

System.out.print(a[b[j]] + " ");

System.out.println();

}

}

}

}

Sortie :

1 2 3

1 2 4

1 3 4

2 3 4

Java implémente l'opération récursive n ! Si n n'est pas un nombre entier, vous serez invité à le saisir à nouveau

java implémente l'opération récursive n ! , saisissez n, si ce n'est pas un nombre entier, vous serez invité à saisir à nouveau...

porter java.util.Scanner ;

importer java.util.regex.Matcher;

importer java.util.regex.Pattern;

Test en classe publique {

public int jiecheng(int num) {// factorielle récursive

si (num > 1)

retour num * jiecheng(num - 1);

sinon si (num == 1)

retour 1;

autre

retour 0;

}

public static void main(String[] args) {

Scanner sc = new Scanner(System.in); // Obtenir la saisie du clavier

Num de chaîne = "";

Pattern p = Pattern.compile("\d+"); // Expression régulière, correspondant à des entiers (1 à N chiffres)

Matcher m = nul;

int k = 0;

pendant (vrai) {

System.out.print ("Veuillez entrer un entier : "

);

num = sc.nextLine(); // Récupère une ligne d'entrée

m = p.matcher(num);

if (m.matches()) {

k = Integer.valueOf(num); // Convertir une chaîne en entier

pause;

}autre

System.out.println ("Pas un entier, veuillez ressaisir!"

);

System.out.println();

}

System.out.println(new Test().jiecheng(k)); //Appelle la méthode factorielle

}

}

Puissiez-vous vivre dans une terre précieuse et prospérer pendant mille ans, que tout soit prospère pour votre famille et puissiez-vous accueillir la nouvelle année

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le code d'erreur Windows & quot; invalid_data_access_trap & quot; (0x00000004) Comment résoudre le code d'erreur Windows & quot; invalid_data_access_trap & quot; (0x00000004) Mar 11, 2025 am 11:26 AM

Cet article aborde l'erreur Windows "invalid_data_access_trap" (0x00000004), un BSOD critique. Il explore les causes communes comme les pilotes défectueux, les dysfonctionnements matériels (RAM, le disque dur), les conflits logiciels, l'overclocking et les logiciels malveillants. Trou

ENE SYS ENTRETIEN: Conseils et astuces pour maintenir votre système en douceur ENE SYS ENTRETIEN: Conseils et astuces pour maintenir votre système en douceur Mar 07, 2025 pm 03:09 PM

Cet article fournit des conseils pratiques pour maintenir les systèmes ENE SYS. Il traite des problèmes courants comme la surchauffe et la corruption des données, offrant des mesures préventives telles que le nettoyage régulier, les sauvegardes et les mises à jour logicielles. Une maintenance sur mesure s

5 erreurs courantes à éviter pendant la mise en œuvre de l'ene sys 5 erreurs courantes à éviter pendant la mise en œuvre de l'ene sys Mar 07, 2025 pm 03:11 PM

Cet article identifie cinq pièges communs dans la mise en œuvre de l'ene SYS: planification insuffisante, formation inadéquate des utilisateurs, migration inappropriée des données, négligence en matière de sécurité et tests insuffisants. Ces erreurs peuvent entraîner des retards de projet, des défaillances du système

Comment modifier le registre? (Avertissement: utilisez avec prudence!) Comment modifier le registre? (Avertissement: utilisez avec prudence!) Mar 21, 2025 pm 07:46 PM

L'article traite de l'édition du registre Windows, des précautions, des méthodes de sauvegarde et des problèmes potentiels des modifications incorrectes. Problème principal: risques d'instabilité du système et de perte de données contre les modifications inappropriées.

Découvrez comment réparer l'avertissement de santé dans les paramètres Windows Découvrez comment réparer l'avertissement de santé dans les paramètres Windows Mar 19, 2025 am 11:10 AM

Que signifie l'avertissement de santé des motivations dans les paramètres Windows et que devez-vous faire lorsque vous recevez l'avertissement de disque? Lisez ce tutoriel Php.CN pour obtenir des instructions étape par étape pour faire face à cette situation.

Comment gérer les services dans Windows? Comment gérer les services dans Windows? Mar 21, 2025 pm 07:52 PM

L'article discute de la gestion des services Windows pour la santé du système, y compris le démarrage, l'arrêt, le redémarrage des services et les meilleures pratiques de stabilité.

Quelle application utilise ene.sys Quelle application utilise ene.sys Mar 12, 2025 pm 01:25 PM

Cet article identifie ENE.SYS comme un composant de pilote audio haute définition Realtek. Il détaille sa fonction dans la gestion du matériel audio, mettant l'accent sur son rôle crucial dans la fonctionnalité audio. L'article guide également les utilisateurs sur la vérification de sa légitimité

Pourquoi le Driver Asio.sys ne charge-t-il pas Pourquoi le Driver Asio.sys ne charge-t-il pas Mar 10, 2025 pm 07:58 PM

Cet article traite de l'échec du pilote audio Windows Asio.sys. Les causes courantes incluent les fichiers système corrompus, l'incompatibilité matérielle / pilote, les conflits logiciels, les problèmes de registre et les logiciels malveillants. Le dépannage implique des scans SFC, le pilote Upda

See all articles