Bonjour à tous,
Alors voilà, j'avais un programme à faire en java, le programme demande à l'utilisateur d'entrer un nombre et en fonction du nombre que l'utilisateur à entré, celui ci dessine dans la console une chaine de caractères qui est sensé former une croix... Pour mieux comprendre je vous suggère de compiler et tester mon programme avec le code source ci-dessous.
Cependant il y a plusieurs méthodes pour le faire. J'ai un ami en deuxième année d'inginerie logiciel qui l'a fait complètement différemment et qui arrive au résultat voulu. Mais le plus surprenant c'est que lui il l'écrit en quelques lignes uniquement et moi j'en ai un nombre monstrueux.
Voici ma méthode:
ET VOICI LA SIENNE:Code:import java.util.Scanner; public class Challenge2{ public static void main(String[] args){ Scanner input = new Scanner(System.in); while(true){ System.out.print("Please enter a number: "); int number = input.nextInt(); for(int i = 1; i<=number; i++){ for(int j = 1; j<=number; j++){ int ibis = i; int jbis = j; while(ibis > 4){ ibis = ibis - 4; } while(jbis > 4){ jbis = jbis - 4; } if(ibis == jbis) System.out.print("\\"); else if(ibis+jbis == 5) System.out.print("/"); else System.out.print(" "); } System.out.println(""); } } } }
J'ai essayé de comprendre son code mais je n'y suis parvenu qu'à moitié. C'est du Python et moi je ne programme pas en Python. Je n'arrive pas à comprendre ce qu'est l'objet pattern dans son code... Est-ce un Array ou une liste? Je ne pense pas que ça soit un array car plus loin dans son code (pas trop loin, il n'y a pas bcp de lignes) il fait: pattern[i%4][j%4] alors que si c'était un tableau on ne pourrait vraisemblablement pas obtenir pattern[][] mais plutot pattern[] ... enfin bref... Il y aurait il quelqu'un pour me traduire son code en java svp?
Merci pour votre aide...
AH oui, j'ai failli oublié, difficile à comprendre et à traduire sans son code:
(Le code ci-dessous n'est pas le mien, le pseudo de l'auteur est Spaxe, en Australie)
Merci pour votre aideCode:def diamond2(n): pattern = ['\\ /', ' \\/ ', ' /\\ ', '/ \\'] output = '' for i in range(n): for j in range(n): output += pattern[i%4][j%4] output += '\n' print output for i in range(1, 15, 3): print '%d:' % i diamond2(i) print ''
-----