2010-10-08 1 views
1

je dois faire ce qui suit pour une mission:Java: Utilisation charAt dans une boucle et déterminer le nombre de places dans l'entrée

Ecrire un programme qui détermine le nombre de places dans une ligne d'entrée. Lire dans la ligne dans une chaîne. Ensuite, utilisez la méthode charAt() dans une boucle pour accéder aux caractères un par un.

Le code que j'ai jusqu'ici:

import javax.swing.*; 

import java.lang.Character; 

public class Assignment5_CHESHIRE { 
public static void main(String[] args) 
{ 

String Sentence=JOptionPane.showInputDialog("Please enter an word or words: "); 
    int countCharacters=0; 

    for (int i = 0; i< Sentence.length(); i++) 
    { 
     char c=Sentence.charAt(i); 
     if (Character.isLetter(c)) { 
countCharacters++; 
} 

     System.out.println("There are" + " "+ countCharacters + " " + "letters" +" " + "in the Words " + Sentence); 
    } 

    } 

} 
/* 
Example of the output: 
--------------------Configuration: Assignment5_CHESHIRE - JDK version 1.6.0_21 Assign5 - <Default>-------------------- 
There are 1 letters in the Words Kitty whiskers 
There are 2 letters in the Words Kitty whiskers 
There are 3 letters in the Words Kitty whiskers 
There are 4 letters in the Words Kitty whiskers 
There are 5 letters in the Words Kitty whiskers 
There are 5 letters in the Words Kitty whiskers 
There are 6 letters in the Words Kitty whiskers 
There are 7 letters in the Words Kitty whiskers 
There are 8 letters in the Words Kitty whiskers 
There are 9 letters in the Words Kitty whiskers 
There are 10 letters in the Words Kitty whiskers 
There are 11 letters in the Words Kitty whiskers 
There are 12 letters in the Words Kitty whiskers 
There are 13 letters in the Words Kitty whiskers 

Process completed.*/ 

Comment puis-je obtenir pour choisir chaque personnage? Je ne suis pas sûr que le programme que j'ai écrit donne la solution pour la 2ème partie.

Répondre

2

Deux problèmes avec votre code:

  1. Déplacez le System.out.println à l'extérieur du bloc for, de sorte qu'il imprime uniquement une fois.
  2. Votre code compte le nombre de lettres dans la chaîne, pas le nombre d'espaces. Vous pouvez dire si un caractère est un espace en utilisant Character.isSpaceChar(c) (espaces uniquement) ou Character.isWhitespace(c) (n'importe quel caractère d'espace, tel qu'un espace ou un onglet).
+0

Ok Merci pour l'entrée. Je testerai. – Bewithched

Questions connexes