Kann mir jemand den folgenden Code erklären? Es fällt mir schwer zu verstehen, wie der Flow funktioniert. Wenn der Tier-Konstruktor in main() aufgerufen wird, wird "bitte Name eingeben" ausgedruckt, aber wie kann der Benutzer hier etwas eingeben? Und wie wird es dem userInput zugewiesen? Schließlich, warum verwenden wir this.setName (userInput.nextLine()) hier?Benötigen Sie Hilfe zum Verständnis der Benutzereingabe in Java?
import java.util.Scanner;
import java.util.*;
public class animal{
private String name;
static Scanner userInput = new Scanner(System.in);
public void setName(String name){
this.name = name;
}
public animal(){
System.out.println("please input the name");
if(userInput.hasNextLine()){
this.setName(userInput.nextLine());
}
}
public static void main(String[] args){
animal Dog1 = new animal();
}
}
Wie unten beantwortet, wird der Code nicht kompilieren, aber ich nehme an, Sie haben es funktioniert woanders. Was das Verständnis des Codes und seiner Funktionsweise angeht, schlage ich vor, dass Sie eine Google-Suche nach "Java-Benutzereingabe-Scanner" durchführen. Es hat keinen Sinn, Ihnen hier die Grundlagen zu erklären, wenn es an anderer Stelle gut dokumentiert ist. – Mumfi
Hallo, danke, dass du mich informiert hast. Ich habe das Eingabescanner-Dokument durchsucht. Aber ich verstehe nicht, warum wir das hier verwenden müssen. Ich verstehe, dass dies sich auf das Objekt bezieht, aber warum verwenden wir this.setName anstatt nur setName? – user3725988
Sie können this.setName entfernen und auf setName festlegen. Das "Dies" ist impliziert und muss nicht abgetippt werden. – Mumfi