Il est difficile à expliquer, mais j'essaye de créer un programme qui ne met en majuscule que la lettre de chaque mot qui se termine par une période, un point d'interrogation ou un point d'exclamation. J'ai réussi à recevoir un résultat lors de la saisie de l'une des marques mais seulement quand il est entré la deuxième fois. En d'autres termes, je dois frapper deux fois pour obtenir un résultat et je ne sais pas pourquoi. Je travaille toujours dessus par moi-même mais je suis bloqué par ce problème.Phrase Capitalizer avec une exigence spécifique
import java.util.*;
public class SentenceCapitalizer
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.print("Input a sentence: ");
String line = keyboard.nextLine();
String wrong = keyboard.nextLine();
String[] check = {".!?"};
String upper_case_line="";
Scanner lineScan = new Scanner(line);
for (String sent : check)
{
if (sent.startsWith(wrong))
{
System.out.println("cant use .?!");
}
else
{
/* if (line.startsWith(" "))//if starts with space
System.out.println("good");
else
System.out.println("bad");
*/
//if (int i = 0; i < line.length; i++)
//{char c = line.chartAt(i);
while(lineScan.hasNext())
{
String word = lineScan.next();
upper_case_line += Character.toUpperCase(word.charAt(0)) +
word.substring(1) + " ";
}
System.out.println(upper_case_line.trim());
}
}
}
}
Merci pour votre retour –
@SirNicholas Pas de problème! Heureux de vous aider! – cunniemm