Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在控制台中输入值时,如何返回指定的getter值JAVA_Java_Input - Fatal编程技术网

在控制台中输入值时,如何返回指定的getter值JAVA

在控制台中输入值时,如何返回指定的getter值JAVA,java,input,Java,Input,如果用户向控制台输入一个方法,它们是返回方法的一种方式吗?目前,我有一个问题,我需要用户键入方法名称,然后让该方法出现,但是由于方法的复杂性,如果没有方法,则必须使用大量的if语句或多个数组列表才能返回答案。是否有一种方法可以让a system.in命令不以字符串或int的形式返回,而是让计算机将其作为对方法的正常调用来读取 您可以使用按名称调用方法。作为简单的解决方案,您可以通过对每个用户请求的反射来调用方法。作为改进,您可以在启动时使用反射来构建某种方法注册表。是的,他可以,但这是一种糟糕的

如果用户向控制台输入一个方法,它们是返回方法的一种方式吗?目前,我有一个问题,我需要用户键入方法名称,然后让该方法出现,但是由于方法的复杂性,如果没有方法,则必须使用大量的if语句或多个数组列表才能返回答案。是否有一种方法可以让a system.in命令不以字符串或int的形式返回,而是让计算机将其作为对方法的正常调用来读取

您可以使用按名称调用方法。作为简单的解决方案,您可以通过对每个用户请求的反射来调用方法。作为改进,您可以在启动时使用反射来构建某种方法注册表。

是的,他可以,但这是一种糟糕的做法@阿尔法辛:那你有更好的主意吗?如果到处都用的话,那是个坏习惯。但在一些简单的情况下,这可能是一个很好的解决方案。是的,OO方法:用字符串(用户输入)激活对象的选择器方法,让选择器选择正确的方法并激活它。我知道他有一个“巨大的如果声明”,但这可能是由于一个糟糕的设计。需要查看所有详细信息才能对此进行评论。从有效的Java中,Item53:首选接口而不是反射“……通常,在正常的应用程序中,在运行时不应以反射方式访问对象。”不使用反射有三个很好的理由——我建议在下次选择使用反射之前阅读本书或至少阅读本节:)有一种巨大的OOP方式,它可能涉及扩展可调用的
并拥有一个大的
HashMap
(或工厂),等等。。。然后是反射。挑一个:)