使用Java8运行时如何在流中获取新的用户输入

你c

我需要验证用户输入,如果它不满足条件,那么我需要用正确的输入替换它。到目前为止,我被困在两个部分。我对 java8 还很陌生,对所有的库都不太熟悉,所以如果你能给我建议在哪里阅读更多关于这些的内容,我将不胜感激。

List<String> input = Arrays.asList(args);
List<String> validatedinput = input.stream()
   .filter(p -> {
       if (p.matches("[0-9, /,]+")) {
           return true;
       }
       System.out.println("The value has to be positve number and not a character");
       //Does the new input actually get saved here?
       sc.nextLine();
       return false;
   }) //And here I am not really sure how to map the String object
   .map(String::)
   .validatedinput(Collectors.toList());
奥斯曼 D.

这种类型的逻辑不应该用流来完成,while循环将是一个很好的候选者。

首先,让我们将数据分成两个列表,一个列表表示有效输入,另一个表示无效输入:

Map<Boolean, List<String>> resultSet =
            Arrays.stream(args)
                    .collect(Collectors.partitioningBy(s -> s.matches(yourRegex), 
                                 Collectors.toCollection(ArrayList::new)));

然后创建 while 循环以要求用户更正所有无效输入:

int i = 0;
List<String> invalidInputs = resultSet.get(false);
final int size = invalidInputs.size();    
while (i < size){
     System.out.println("The value --> " + invalidInputs.get(i) +
             " has to be positive number and not a character");
     String temp = sc.nextLine();
     if(temp.matches(yourRegex)){
         resultSet.get(true).add(temp);
         i++;
     }
}

现在,您可以收集所有有效输入的列表并使用它做您喜欢的事情:

List<String> result = resultSet.get(true);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在运行时在spring-SAML中添加新的idp元数据

来自分类Dev

如何在运行时从Java对象获取实例变量的行号

来自分类Dev

如何在运行时使用python动态创建新的类实例?

来自分类Dev

如何在运行时动态关注输入元素

来自分类Dev

如何在Java8流中管理附带影响

来自分类Dev

聚合Java 8流中的运行时异常

来自分类Dev

当以管理员身份运行时,如何在Cygwin中获得实际的当前用户?

来自分类Dev

如何在运行时获取触发队列的名称?

来自分类Dev

如何使用Permissionsdispatcher库获取新的Android M运行时权限?

来自分类Dev

如何在Xamarin中检索用户定义的运行时属性?

来自分类Dev

如何在Kotlin中获取变量的运行时类?

来自分类Dev

如何在运行时获取父类

来自分类Dev

如何在Laravel 5中的运行时创建新连接?

来自分类Dev

无法使用运行时处理应用程序:java8:Google appEngine部署错误

来自分类Dev

如何在运行时使用依赖注入创建新对象

来自分类Dev

如何从Java中的运行时执行获取实时输出?

来自分类Dev

如何在运行时从python提供Java输入?

来自分类Dev

如何在运行时根据其他表中的值添加新列?

来自分类Dev

在运行时获取输入类型

来自分类Dev

如何在Java运行时通过使用类名称获取类对象

来自分类Dev

如何在运行时动态关注输入元素

来自分类Dev

在Java运行时是否有可能从记事本中获取输入

来自分类Dev

如何在C ++中建立一个运行时间计数器并允许用户同时输入(非阻塞用户输入)的循环

来自分类Dev

如何在运行时从连接池声明中获取用户名

来自分类Dev

如何在运行时获取Java中的参数名称

来自分类Dev

当主线程仍在python中运行时,如何使用线程获取实时用户输入

来自分类Dev

当以管理员身份运行时,如何在Cygwin中获得实际的当前用户?

来自分类Dev

像 Emacs 和 Nano 这样的程序如何在终端中运行时获取用户输入,而无需用户按 Enter 键?

来自分类Dev

如何在python的集合中添加()运行时输入?

Related 相关文章

  1. 1

    如何在运行时在spring-SAML中添加新的idp元数据

  2. 2

    如何在运行时从Java对象获取实例变量的行号

  3. 3

    如何在运行时使用python动态创建新的类实例?

  4. 4

    如何在运行时动态关注输入元素

  5. 5

    如何在Java8流中管理附带影响

  6. 6

    聚合Java 8流中的运行时异常

  7. 7

    当以管理员身份运行时,如何在Cygwin中获得实际的当前用户?

  8. 8

    如何在运行时获取触发队列的名称?

  9. 9

    如何使用Permissionsdispatcher库获取新的Android M运行时权限?

  10. 10

    如何在Xamarin中检索用户定义的运行时属性?

  11. 11

    如何在Kotlin中获取变量的运行时类?

  12. 12

    如何在运行时获取父类

  13. 13

    如何在Laravel 5中的运行时创建新连接?

  14. 14

    无法使用运行时处理应用程序:java8:Google appEngine部署错误

  15. 15

    如何在运行时使用依赖注入创建新对象

  16. 16

    如何从Java中的运行时执行获取实时输出?

  17. 17

    如何在运行时从python提供Java输入?

  18. 18

    如何在运行时根据其他表中的值添加新列?

  19. 19

    在运行时获取输入类型

  20. 20

    如何在Java运行时通过使用类名称获取类对象

  21. 21

    如何在运行时动态关注输入元素

  22. 22

    在Java运行时是否有可能从记事本中获取输入

  23. 23

    如何在C ++中建立一个运行时间计数器并允许用户同时输入(非阻塞用户输入)的循环

  24. 24

    如何在运行时从连接池声明中获取用户名

  25. 25

    如何在运行时获取Java中的参数名称

  26. 26

    当主线程仍在python中运行时,如何使用线程获取实时用户输入

  27. 27

    当以管理员身份运行时,如何在Cygwin中获得实际的当前用户?

  28. 28

    像 Emacs 和 Nano 这样的程序如何在终端中运行时获取用户输入,而无需用户按 Enter 键?

  29. 29

    如何在python的集合中添加()运行时输入?

热门标签

归档