Je suis dans une classe Java débutant. Ce laboratoire est pour moi de faire un "portefeuille" de classe qui manipule un tableau qui représente un portefeuille. Wallet contient le tableau "contents []" pour stocker les entiers représentant la monnaie papier. La variable "count" contient le nombre de billets dans un portefeuille. Après avoir écrit des méthodes (qui correspondent aux appels de méthode fournis dans une classe Serpate Driver) pour initialiser le Wallet et ajouter un compte de devise/mise à jour, j'ai besoin de transférer le tableau d'un Wallet instancié à un autre. Je ne sais pas comment cela fonctionnerait parce que la classe Wallet n'a joué qu'avec un portefeuille appelé "myWallet" et maintenant je dois prendre un nouveau Wallet appelé "yourWallet" et le remplir avec les valeurs du tableau "myWallet". // Je dois souligner que l'aide de la bibliothèque API Java n'est pas autorisé dans ce coursParamètre de tableau passant
Ma classe de portefeuille ressemble à ceci jusqu'à présent:
public class Wallet
{
// max possible # of banknotes in a wallet
private static final int MAX = 10;
private int contents[];
private int count; // count # of banknotes stored in contents[]
public Wallet()
{
contents = new int[MAX];
count = 0;
}
/** Adds a banknote to the end of a wallet. */
public void addBanknote(int banknoteType)
{
contents[count] = banknoteType;
count = count + 1;
}
/**
* Transfers the contents of one wallet to the end of another. Empties the donor wallet.
*/
public void transfer(Wallet donor)
{
//my code belongs here
}
...
Le look de code du pilote comme ceci:
public class Driver
{
public static void main(String args[])
{
Wallet myWallet = new Wallet();
myWallet.addBanknote(5);
myWallet.addBanknote(50);
myWallet.addBanknote(10);
myWallet.addBanknote(5);
System.out.println("myWallet contains: " + myWallet.toString());
// transfer all the banknotes from myWallet to yourWallet
Wallet yourWallet = new Wallet();
yourWallet.addBanknote(1);
yourWallet.transfer(myWallet);
System.out.println("\nnow myWallet contains: "
+ myWallet.toString());
System.out.println("yourWallet contains: "
+ yourWallet.toString());
Je veux utiliser addBanknote() pour aider, mais je ne sais pas comment dire la méthode transfert() pour transférer tous myWallet dans yourWallet .
J'ai eu l'idée de faire somethign comme celui-ci dans le transfert():
yourWallet.addBanknote(myWallet.contents[i]);
avec un traversal i augmenter pour les contenus myWallet. Cela semble horriblement faux, mais je suis complètement perdu pour écrire cette méthode. Si mon problème est si flou que personne ne peut aider, je serais plus qu'heureux de recevoir des conseils sur la façon de poser une meilleure question ou sur la façon de rechercher avec des termes corrects. Merci pour toute aide que vous pouvez fournir.
Je pense que _transfer (donateur de portefeuille) _ signifie «transférer toutes les notes du donateur à moi». _tranfer (donneur de Waller, int bankNoteType) _ signifierait 'transférer 1 seule note du type donné du donneur à moi'. Et personnellement, j'aurais choisi _transferTo (récepteur Waller) _ comme donnant de l'argent se sent plus naturel dans un api que de le prendre :) – extraneon
@extraneon Je pense que ce sont de bonnes questions et préoccupations pour l'OP. J'étais sous l'hypothèse (peut-être incorrectement) qu'on leur a donné une sorte de gabarit et que je devais le remplir. Je ne vois pas ce que vous pensez de 'bankNoteType', car les billets de banque ne sont que la valeur du billet de banque (sauf si je Je me trompe). Donc, le contenu serait comme: '[1, 5, 20, 20, 100]'. – mangoDrunk
@mangoDrunk Que fait le '#' dans la dernière ligne que vous avez écrite? Vous avez raison à propos du modèle de portefeuille avec des méthodes manquantes et que les tableaux en question ne sont que des valeurs int. Aussi, extraneon Merci d'avoir expliqué l'appel de méthode! C'était (et c'est toujours) l'une des parties les plus floues de mon problème. Comment s'appelle-t-il? Paramètres de la méthode ou existe-t-il un meilleur nom? – DiscipleApollos