java - 使用扫描仪在java中自定义用户输入的输出

标签 java java.util.scanner

是否有任何方法可以使用扫描仪获取用户输入的自定义输出?

例如:

import java.util.Scanner;

public class test {
    public static void main(String args[]){
        Scanner input = new Scanner(System.in);
        System.out.println("Choose one of the fruits:\n"+
            "1)Mango\n"+
            "2)Apple\n"+
            "3)Melon\n"+
            "4)Papaya\n");
        String fruit = input.next();
        if (fruit.equals("1") || fruit.equals("Mango")) {

        }
    }
}

所以当我执行它时,这是输出

Choose one of the fruits:
1)Mango
2)Apple
3)Melon
4)Papaya

1

它退出...

我想要的是

Choose one of the fruits:
1)Mango
2)Apple
3)Melon
4)Papaya

1)Mango Selected

按 1 它应该打印 Mango Selected...好吧我可以为此添加 println 但我也不想显示 1 或 Mango(无论用户输入什么)而是我想显示我的自定义消息..

怎么做?

最佳答案

您可以将它们添加到 map 中,然后通过按键获取它们

 import java.util.Scanner;

 public class test {
    public static void main(String args[]){

    Map<Integer, String> selection = Maps.newHashMap();

    selection.put(1, "Mango");
    selection.put(2, "Apple");
    selection.put(3, "Melon");
    selection.put(4, "Papaya");

    Scanner input = new Scanner(System.in);

    System.out.println("Choose one of the fruits:\n"+
     "1)Mango\n"+
     "2)Apple\n"+
     "3)Melon\n"+
     "4)Papaya\n");

    int fruit = input.nextInt();

     System.out.println("you selected " + selection.get(fruit));  
    }
}

如果您不想通过控制台输入选择,那么您可以使用对话框

   Map<Integer, String> selection = Maps.newHashMap();

    selection.put(1, "Mango");
    selection.put(2, "Apple");
    selection.put(3, "Melon");
    selection.put(4, "Papaya");

    System.out.println("Choose one of the fruits:\n"+
    "1)Mango\n"+
    "2)Apple\n"+
    "3)Melon\n"+
    "4)Papaya\n");

    int mySelection = Integer.valueOf(JOptionPane.showInputDialog("Enter 
    your selection here"));

    System.out.println("you selected " + selection.get(mySelection));

关于java - 使用扫描仪在java中自定义用户输入的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47636029/

相关文章:

java - 如何为字符串数组获取 10 个随机字符串?

循环中的 Java 扫描器仅获取第一个输入

java - 解析文本文件中的各种值(Java)

java - 有没有办法从 MS-Dataset XSD 文件生成 java 类?

java - 整数平方数字逐位

java - 尝试在空对象引用上调用虚拟方法 'java.lang.String[] android.os.Bundle.getStringArray(java.lang.String)'

java - Java 中从类到主类的用户输入

Java ee 注释不起作用

java - 如何获取不在 JSON 中但仍然是我在 android 中使用 PHP 收到的数组元素的列名称

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?