Inviter l'utilisateur à entrer un nom sur une ligne et l'imprimer comme “nom, prénom”
Personne dans l'ensemble de notre laboratoire a été en mesure d'obtenir ce problème, nous avons donc à faire les devoirs à la maison. Nous sommes pour inviter l'utilisateur à entrer son nom et prénom sur une seule ligne. La méthode principale est censé s'occuper de tous les rapports de println et doit imprimer les nom, prénom.
line 26 states "cannot find symbol."
line 36 states "not a statement. ';' expected.
line 39 states unreachable statement.
J'ai joué avec ce code pendant une heure et ont à peu près abandonné. Toute aide?
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package lab11;
import java.util.Scanner;
/**
*
* @author xxxxxx
*/
public class Lab11 {
public static void main(String[] args) {
System.out.println("Enter your name: ");
Scanner user_input=new Scanner(System.in);
changeNameFormat();
System.out.println(lastName+", " + firstName);
System.out.println("Enter a word. ");
palindrome();
}
public static String changeNameFormat() {
String firstName, lastName;
firstName, lastName = user_input.nextLine;
return lastName;
return firstName;
}
- Merci d'éditer votre post pour formater les dernières lignes de votre code correctement. 🙂
- u n'a pas de fermer la classe de support ..
- combien retourne une fonction peut avoir ?????
- Je ne peux pas le modifier, il apporte juste une boîte blanche.
- J'ai le sentiment "Oh.. attendre ce" après la lecture de ce qui suit: "personne dans l'ensemble de notre laboratoire a été en mesure d'obtenir ce problème". Toute IDE avec certains-ce que de la coloration de syntaxe et sur-la-mouche-inspection de crier haut et fort.
- de vérifier ma solution ici stackoverflow.com/a/26809417/1966247 je pense que c'est plus pratique pour vous
Vous devez vous connecter pour publier un commentaire.
Voici une liste des étapes que vous devez faire:
Obtenir l'entrée [Sera par Exemple: "John Smith"]
De le diviser en deux morceaux [Il y a plusieurs façons de le faire]
substring() renvoie une partie de la chaîne.
indexOf() trouve un caractère spécifique dans la chaîne.
Il prend une valeur initiale et une valeur finale.
Dans ce cas, nous commençons par le début, et à la fin quand on trouve un espace.
Pour obtenir le nom de famille, nous commençons là où nous trouver un espace, et à la fin à la fin de la chaîne.
Vous pouvez également vous combinez cela avec la .trim() méthode qui supprime les espaces de début et de fin de chaînes.
Enfin, on retourne la concaténation de la valeur:
Code complet:
Testé sur: http://www.compileonline.com/compile_java_online.php
Une dernière chose. C'est une bonne convention, à faire vos méthodes de travail telles qu'elles sont nommées.
Puisque le vôtre est appelé "changeNameFormat()", nous devrions sans doute nous transmettre le nom que nous voulons changer.
Puis dans notre main, nous pouvons obtenir l'entrée, ou même de le passer comme paramètre.
Java ne supporte pas cette syntaxe. Au lieu de cela, vous aurez besoin d'utiliser quelque chose comme
String.split(String)
et vous pouvez les combiner avec une sortie formatée commeL' "impossible de trouver le symbole" sera
palindrome()
, qui est un appel de méthode, mais vous n'avez pas défini de nulle part (et il ne semble pas pertinent pour résoudre le problème). Vous aurez également présent sur la ligneparce qu'à ce stade, vous n'avez pas déclaré
lastName
oufirstName
.L' "n'est pas un énoncé" est la ligne
firstName, lastName = ...
, ce qui n'est pas valide la syntaxe de Java (même si c'est dans quelques langues, où vous pouvez attribuer à deux variables à la fois). Vous avez besoin de trouver une façon de diviser l'entrée en deux parties, et attribuer une partie defirstName
et une partie delastName
; mais, comme il se, cette ligne n'est pas significative Java.Le "code inaccessible" est le
return firstName
. La précédentereturn
ligne se termine l'exécution de la méthode, de sorte que votre code ne jamais arriver à lareturn firstName
déclaration. Vous êtes censé être l'impression des choses, pas de les renvoyer.Dans ce cas, toutes les erreurs signalées sont authentiques. Mais en général, si vous avez beaucoup d'erreurs dans la première partie de votre code, alors le compilateur ne pas identifier de manière fiable, plus tard, des erreurs, car il ne sera pas gérer à analyser l'ensemble du dossier. Donc, parfois, vous vous apercevrez que vous corrigez une erreur de syntaxe dans les premières lignes, et qui semble créer un problème plus tard. Il n'est pas vraiment de la création d'un nouveau problème, c'est juste que le compilateur n'était pas capable de le trouver.
J'ai la solution suivante pour votre problème, le prénom et le nom doivent être séparés par un espace