Может кто-нибудь объяснить приведенный ниже код мне? Нелегко понять, как работает поток. Когда вызывающий конструктор животных вызывается в main(), он печатает «пожалуйста, введите имя», но как пользователь может здесь что-то вводить? И как он привязан к userInput? И наконец, почему мы используем this.setName (userInput.nextLine()) здесь?Нужна помощь по пониманию ввода пользователем в 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();
}
}
Как указано ниже, код не будет компилироваться, но я предполагаю, что он работает в другом месте. Что касается понимания кода и того, что он делает, я предлагаю вам выполнить поиск Google для «java user input scanner». Нет смысла объяснять основные принципы для вас здесь, когда он хорошо документирован в другом месте. – Mumfi
Привет, спасибо, что сообщили мне. Я прошел через входной документ сканера. Но я не понимаю, почему нам нужно использовать this.setName здесь. Я понимаю, что это относится к объекту, но почему мы используем this.setName вместо setName? – user3725988
Вы можете удалить this.setName и установить его в setName. «Это» подразумевается и не нужно вводить. – Mumfi