Заполнитель на java сканере - PullRequest
0 голосов
/ 09 мая 2020

В консоли, как я могу использовать заполнитель на моем сканере?

Позвольте мне показать вам пример

public class main {
  string name;
  public void main(){
   name = " default ";
  }

 public void modif(){
  Scanner sc = new Scanner(System.in);
  String str = sc.nextLine(); // At this moment i want in the console the current value of name. The user can delete it, and replace it with the new name. Or just modify it
  this.name=str;
 }
}

Большое спасибо, что прочитали меня, и извините за мой английский sh .

Ответы [ 3 ]

2 голосов
/ 09 мая 2020

Одна вещь, которую вы можете сделать в консоли, которая часто выглядит хорошо: распечатать значение по умолчанию

> Enter your name (jonny):

Если пользователь ничего не вводит и просто нажимает Enter, используйте значение по умолчанию.

Если пользователь что-то вводит, используйте это.

0 голосов
/ 09 мая 2020

Просто включите name в сообщение для ввода, например

import java.util.Scanner;

public class Main {
    private String name;
    private Scanner sc = new Scanner(System.in);

    public Main() {
        this.name = "default";
    }

    public String getName() {
        return name;
    }

    public void modify() {
        System.out.print("Enter a new name to modify or just press enter to delete the current name, '" + name + "': ");
        String str = sc.nextLine();
        this.name = str;
    }

    public static void main(String[] args) {
        Main m = new Main();
        m.modify();
        System.out.println("Name is: " + m.getName());
    }
}

Пробный прогон:

Enter a new name to modify or just press enter to delete the current name, 'default': Marius Magaud
Name is: Marius Magaud

Другой примерный прогон:

Enter a new name to modify or just press enter to delete the current name, 'default': 
Name is: 
0 голосов
/ 09 мая 2020

Это легко с помощью небольшого трюка

, а уловка - System.out.print("Enter Name: ");. Используйте метод print для заполнителя, а не println.

Это полный основной метод.

public static void main(String... string) {

        Scanner sc =  new Scanner(System.in);
        System.out.print("Enter Name: ");
        String name = sc.nextLine();

        System.out.println(name);
    }

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...