我有两个不同的方法,在两个不同的类中。我希望他们都能阅读同一行输入,并检查不同的内容。一个查找“给我冲杯咖啡”之类的说明,另一个查找不同的关键字,如“请”和“谢谢”(这些影响程序对我的反应):
public class Class1(){
public void PleaseAndThankYous(){
Scanner scanner1 = new Scanner(System.in)
input1 = Scanner1.nextLine();
if (input1.contains//blah blah blah blah...
public class Intructions(){
public void Method2(){
Scanner scanner2 = new Scanner(System.in)
input2 = Scanner2.nextLine();
if (input1.contains//blah blah blah blah...
然后我在我的主字符串中调用它们,只是为了测试它们:
System.out.println("this is a test, ask me something")
obj.PleaseAndThankYous();
obj.Intructions();
我的控制台显示如下:
this is a test, ask me something //(out put string)
make me a coffee please //PleaseAndThankYous() reads this
make me a coffee please // Intructions() reads this;
Making you a coffee, Sir. // (response)
我知道发生了什么,但我想不出其他办法。我也尝试过使用同一个扫描仪,不同的字符串,但仍然不起作用。我怎样才能使这两种方法都能读取我的第一行输入,而不必键入所有内容两次?谢谢
现在你有这样两种方法:
public void method() {
Scanner scanner = new Scanner(System.in)
input = Scanner.nextLine();
if (input.contains //blah blah blah blah...
把他们两个都改一下,这样他们就可以辩论了:
public void method(String input) {
if (input.contains //blah blah blah blah...
然后在main方法中传递您希望他们读取的输入,因此,不要:
method1();
method2();
使用:
Scanner in = new Scanner(System.in);
String input = Scanner.nextLine();
method1(input);
method2(input);
基本上,不支持从扫描仪多次获取相同的字符串。但通过将其作为参数传递,您可以很容易地获得一次值,然后在不同的位置多次使用它。
这在其他几个方面也更好——它将提高性能(因为您只声明一个扫描仪并从中读取一次)并且它使您的代码更加模块化,因为您可以有一个处理输入的类和另一个处理输入的类,而不是在多个地方同时进行。
我在Java中有两个几乎相同的方法。唯一的区别是它们有不同的参数类型。它们使用泛型并返回输入参数的类型T。我怎样才能摆脱重复的代码?下面是我的两个方法。最后,它们都使用不同的类型调用Spring。否则,方法是相同的。
我想采取两个字符串和交替的字符到一个新的字符串使用for方法。 例如:“两个”和“一个” 结果:“townoe” 这就是我到目前为止所拥有的,我真的不知道如何完成它。
我改变了切入点的顺序,它总是排在第二位。关于如何解决这个问题有什么想法吗? 更新 一旦我发布了这个问题,我就有了一个想法。我这样更改了切入点: 现在异常消失了,但仍然有一个小问题(我想这个问题更容易解决):因为ArrayList实现了可序列化,所以至少在我使用ArrayList的测试用例中,两个切入点都被执行了。 我将对此进行研究,并发布我的发现,但也感谢您的帮助;) 我将代码改为只使用一个切入点
我有以下代码,但它不起作用:出现。 我还有这个代码: 这是可行的。在第一种情况下,是,就像在第二种情况下是。那么为什么第一种情况会导致错误,而第二种情况会成功编译? 编辑:我应该怎么做才能实现方法重载,而不引发错误?
本文向大家介绍获取用键盘输入常用的两种方法?相关面试题,主要包含被问及获取用键盘输入常用的两种方法?时的应答技巧和注意事项,需要的朋友参考一下 方法1:通过 Scanner 方法2:通过 BufferedReader
问题内容: 我有一个类似下面的查询。 当我提交如下所示的日期时,它不返回任何内容,但是如果输入,则返回一个值。 我想如果我只输入两个相同的日期而不输入时间,那么时间将会是。 当我们输入两个相同的日期而不输入时间时,如何阅读? 表格中的日期格式按以下方式填充,但是,例如,如果我们仅输入日期,则可以读取该日期格式。 您的帮助对我很重要,谢谢 问题答案: 如果您的数据类型是,则可以添加: 因为= 如果您