2017-02-03 3 views
-1

Je suis censé utiliser le scanner en Java pour recevoir une entrée de 14 caractères et avoir toute la sortie de caractères en majuscules. J'ai essayé d'entrer une partie du code que j'ai trouvé à travers Google, comme "str.toUpperCase (Locale.ENGLISH);" mais il me dit que str ne peut pas être résolu et que les paramètres régionaux ne peuvent pas être résolus. Quand j'ai fait une recherche ici, j'ai obtenu des résultats pour la mise en majuscules de caractères spécifiques ou de caractères de comptage. J'ai juste besoin de la ligne d'entrée spécifique pour être mise en majuscule.En majuscules une entrée de chaîne de scanner dans Java

Ce qui suit est ce que j'ai pour le moment. J'utilise eclipse java neon

import java.util.Scanner; 

public class MemberIDLotz { 
    // Everette Lotz 
    public static void main(String[] args) { 
     Scanner string = new Scanner(System.in); 

     // We're going to get a 14 char string from a user. 
     System.out.println("Please enter in a 14 character long ID"); 
     String name = string.next(); 
     str.toUpperCase(Locale.ENGLISH); 

     string.close(); 
    } 
} 

Nous vous remercions de votre aide à l'avance. * Edit: Ok, il ne me donne plus de message d'erreur, et oui j'ai simplement copié et collé le code. Cependant, quand il imprime son pas en format majuscule. Je mets ce qui suit juste après "String name = ...." et supprimé la ligne str.toUppercase():

System.out.println(name); 
name = name.toUpperCase();` 
+2

Vous ne disposez pas d'une variable 'str'. Vous avez probablement copié ce code à partir d'un exemple de code. Utilisez 'name.toUpperCase()'. – Mordechai

+1

Re votre édition, vous l'imprimez avant de le convertir. – EJP

+0

Donc, si je comprends bien, je mettrais le .toUpperCase, puis le string.next()? – Everette

Répondre

1

Y at-il un raison pour laquelle vous ne majuscules pas immédiatement?

String name = string.next().toUpperCase() 
+0

L'affectation consiste à prendre une entrée pour 14char de quelqu'un et ensuite le formater. Donc, si ils sont entrés dans l'entrée: X839WS21R4E877 alors je dois le sortir comme: Affichage: X-839 WS21 R4-E87 (7). Enseigner, a également dit que si l'entrée est entrée en minuscules alors il devrait être sorti en haut. Sauf si vous voulez dire majuscule plus tôt dans le code? Je vais à l'école pour la programmation, donc je ne suis pas vraiment "compétent" dans ce domaine. – Everette

+1

Je ne comprends pas pourquoi vous ne pouvez pas mettre immédiatement des majuscules. C'était mon point. Votre question fait deux étapes quand cela pourrait être un. –

+0

Ok, donc si je comprends bien, en utilisant le code que vous avez fourni en majuscule immédiatement, comme si je place le code plus bas, ce serait comme une deuxième étape. Correct? – Everette

1

Modification

name = name.toUpperCase(Locale.ENGLISH); 

ou plus simplement

name = name.toUpperCase(); 
0

Vous pouvez également ajouter à la garniture si vous le souhaitez, il est un exemple de travail:

String choice; 

Scanner s = new Scanner(System.in); 
choice = s.nextLine().trim().toUpperCase();