Eingabeaufforderung für Benutzer zum eingeben von Namen in einer Zeile und drucken Sie es aus, wie "Nachname, Vorname"
Niemand in unserem gesamten Labor war in der Lage, dieses problem, so haben wir es zu tun haben bei den Hausaufgaben. Wir sind der Benutzer aufgefordert werden, geben Sie Ihren vor-und Nachnamen in einer Zeile. Die main-Methode soll, um allen println-Anweisungen und drucken Sie den Namen als Nachname, Vorname.
line 26 states "cannot find symbol."
line 36 states "not a statement. ';' expected.
line 39 states unreachable statement.
Zocke ich mit diesem code für eine Stunde und haben nur über aufgegeben. Keine Hilfe?
/*
* 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;
}
- Bitte Bearbeiten Sie Ihre post an format die letzten paar Zeilen deines code korrekt. 🙂
- u hat nicht ganz die Klasse Halterung ..
- wie viele gibt die eine Funktion haben kann ?????
- Ich kann es nicht Bearbeiten, es bringt nur eine weiße box.
- Ich habe irgendwie das Gefühl, "Oh.. warte, was" nach der Lektüre der folgenden: "niemand in unserem gesamten Labor war in der Lage, dieses problem". Jede IDE mit einigen-was von syntax-highlighting und on-the-fly " -Inspektion würde Schreien laut.
- check meine Lösung hier: stackoverflow.com/a/26809417/1966247 ich denke, es ist bequemer für Sie
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine Liste der Schritte, die Sie tun müssen:
Get input [werden Beispiel: "John Smith"]
Spaltete es in zwei Stücke [Es gibt mehrere Möglichkeiten, dies zu tun]
substring() gibt einen Teil der Zeichenkette.
indexOf() findet, die ein bestimmtes Zeichen im string.
Dauert es, einen Startwert und einen Endwert.
In diesem Fall beginnen wir am Anfang und am Ende, wenn wir finden einen Platz.
Auf, um den letzten Namen, den wir beginnen, wo wir finden einen Platz, und am Ende, am Ende der Zeichenfolge.
Können Sie auch kombinieren diese mit der .trim() Methode, die entfernt whitespace-Zeichen am Anfang/Ende des strings.
Schließlich kehren wir dem verketteten Wert:
Komplette code:
Getestet auf: http://www.compileonline.com/compile_java_online.php
Eine Letzte Sache. Es ist eine gute Konvention, um Ihre Methoden zu arbeiten, wie Sie benannt sind.
Da deins heißt "changeNameFormat()", sollten wir uns wahrscheinlich übergeben Sie Ihr den Namen wollen wir ändern.
Dann in unser Haupt, wir können den Eingang, oder sogar übergeben Sie es als parameter.
Java nicht unterstützt, die syntax. Stattdessen müssen Sie etwas verwenden wie
- String.split(String)
und könnte Sie kombinieren, dass mit der formatierten Ausgabe wieDen "cannot find symbol" wird
palindrome()
, die eine Methode nennen, aber Sie haben nicht definiert, es überall (und es scheint nicht relevant für das problem). Auch erhalten Sie diese auf der Linieweil an diesem Punkt haben Sie nicht erklärt
lastName
oderfirstName
.Die "keine Aussage" ist die Linie, die
firstName, lastName = ...
, das ist keine gültige syntax in Java (obwohl es in einigen Sprachen, wo Sie zuordnen können, werden zwei Variablen auf einmal). Sie müssen einen Weg finden, teilen Sie die Eingabe in zwei Teile, und ordnen Sie einen TeilfirstName
und ein TeillastName
; aber wie es steht, diese Zeile ist nicht sinnvoll Java.Den "unreachable code" ist die
return firstName
. Die bisherigenreturn
Zeile endet die Ausführung der Methode, also der code wird nicht immer bekommen, um diereturn firstName
- Anweisung. Sie soll den Druck die Dinge, die nicht der Rückgabe.In diesem Fall werden alle gemeldeten Fehler sind echt. Aber im Allgemeinen, wenn Sie haben viele Fehler im ersten Teil der code, dann der compiler nicht zuverlässig identifizieren, die später zu Fehlern, da es nicht zu verwalten, zu analysieren, die gesamte Datei. Also manchmal, findet man auch fix einen syntax-Fehler in den ersten paar Zeilen, und das scheint ein problem später auf. Es ist nicht wirklich schaffen ein neues problem, es ist nur, dass der compiler war zuvor nicht in der Lage, es zu finden.
Habe ich folgende Lösung für dein problem, den Vornamen und Nachnamen getrennt mit einem Leerzeichen