Côté gauche de l'Affectation doit être une Variable CharAt
Actuellement j'ai le code suivant pour java.
public class lesson8
{
static Console c; //The output console
public static void main (String[] args)
{
c = new Console ();
String user;
int length, counter, spacecounter;
spacecounter=0;
c.print("Enter a string. ");
user = c.readLine();
length = (user.length()-1);
for (counter=0;counter<length;counter++)
{
if (user.charAt(counter) = "")
{
spacecounter++;
}
}
c.println("There are "+spacecounter+" spaces in your string.");
c.println("There are "+counter+" characters in your string.");
//Place your program here. 'c' is the output console
//main method
}
}
J'obtiens une erreur sur cette partie:
if (user.charAt(counter) = "")
L'erreur est
La partie gauche de l'affectation doit être une variable.
Je l'ai changé pour "==", mais maintenant j'ai une autre erreur:
Le type de la gauche de la sous-expression de "char" n'est pas compatible avec le type de droit de la sous-expression de "java.lang.Chaîne".
Comment pourrais-je résoudre ce problème?
Merci!
==
, pas=
...
Vous devez vous connecter pour publier un commentaire.
Donc, la raison pour laquelle
donne cette erreur est que le "=" est un opérateur d'affectation en java, et donc, la gauche doit être une variable. Cela étant dit, vous avez probablement fait envie
qui utilise l'opérateur de comparaison (==) et le caractère espace (' '). ("" est une chaîne vide)
Vous utilisez un asignment plus d'un opérateur de comparaison.
Changement
à
Mise à jour:
Vous aussi vous avez une erreur lors de la comparaison de nouveau.
Vous devez également utiliser
single quotes ( ' )
de comparer unchar
, sinon il ne sera pas compilé.Mais ce ne sera pas compilé comme un zéro longueur char n'est pas défini.
Vous devriez comparer un caractère valide, dire ' pour espace.
Vous souhaitez utiliser l'opérateur d'égalité
==
, pas l'opérateur d'affectation=
.' '
, pas une chaîne""
."==" est en cours pour s'assurer que la valeur à droite est la même que la variable à gauche.
"=" est un opérateur d'affectation et est utilisé pour donner de la valeur À la variable, plutôt que de la comparer.