Java pour la boucle de multiples variables
Je ne sais pas pourquoi mon code Java habitude de compiler toutes les suggestions seraient appréciées.
String rank = card.substring(0,1);
String suit = card.substring(1);
String cards = "A23456789TJQKDHSCl";
String[] name = {"Ace","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King","Diamonds","Hearts","Spades","Clubs"};
String c ="";
for(int a = 0, b = 1; a<cards.length-1; b=a+1; a++;){
if(rank===cards.substring(a,b){
c+=name[a];
}
}
system.out.println(c);
system
doit être en majuscule: System
Supprimer les deux derniers points-virgules de la boucle for, et de placer une virgule entre
b = a + 1
et a++
.Il n'y a pas de
===
opérateur en Java, seulement ==
. (Je suppose que vous êtes à venir à partir de JavaScript?) Aussi, il vous manque un )
à la fin de votre if
. Il suffit d'aller dans les erreurs du compilateur, un par un, ils sont très descriptives et de vous aider à résoudre ces problèmes vous-même.Chaque fois que vous rencontrez un problème de ce genre et la poser ici, n'oubliez pas d'inclure la totalité du message d'erreur.
Tout n'est pas en Java, devrait être représenté comme une Chaîne de caractères. Pensez à utiliser les énumérations et de faire une Carte de classe.
OriginalL'auteur Caleb Hutchinson | 2013-02-07
Vous devez vous connecter pour publier un commentaire.
Il est
cards.length()
, pascards.length
(length
est un méthode dejava.lang.String
, pas un attribut).Il est
System.out
(capitale "s"), passystem.out
. Voir java.lang.Système.Il est
pas
Point de vue syntaxique, il est
if(rank == cards.substring(a,b)){
, pasif(rank===cards.substring(a,b){
(double égal à égal, pas de triple égal à égal; manque de fermeture de la parenthèse), mais pour comparer si deux Chaînes sont égales, vous devez utiliserequals()
:if(rank.equals(cards.substring(a,b))){
Vous devriez probablement envisager de télécharger Eclipse, qui est un environnement de développement intégré (non seulement) pour le développement Java. Eclipse vous montre les erreurs pendant que vous tapez et fournit également de l'aide dans la résolution de ces. Cela le rend beaucoup plus facile de commencer avec le développement Java.
OriginalL'auteur Andreas Fester
Au lieu de cela :
for(int a = 0, b = 1; a<cards.length-1; b=a+1; a++;){
Il devrait être
OriginalL'auteur Abubakkar
Seulement deux points-Virgules sont autorisés à être utilisés dans
for
boucle.Si vous devez faire l'initialisation de plusieurs variables ou la manipulation de plusieurs variables, vous pouvez la réaliser en les séparant par des virgules(,).
REMARQUE: Plusieurs des conditions séparées par des virgules ne sont PAS autorisés.
i < 5 && j > 5
est parfaitement légal, cependant.OriginalL'auteur Yogesh Ralebhat
Je pense que cela devrait fonctionner:
OriginalL'auteur vici
La boucle for ne peut contenir que trois paramètres, vous avez utilisé 4. Veuillez reformuler la question, que voulez-vous atteindre?
OriginalL'auteur NEO
Votre boucle for est faux. Essayez :
Aussi,
System
au lieu desystem
et==
au lieu de===
.Mais je ne suis pas sûr de ce que vous essayez de faire.
OriginalL'auteur xlecoustillier
modifier cette ligne
à
OriginalL'auteur Satya
Votre
for
boucle est mal formé — il ne peut pas prendre 4 arguments, et vous ne pouvez pas combiner les deux avec;
comme vous l'avez fait.Utilisation:
OriginalL'auteur Michael A
Séparer les incréments avec une virgule de trop.
OriginalL'auteur Ivaylo Strandjev