Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.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
Java 无法在其他类中使用扫描仪字符串输入_Java_Java.util.scanner - Fatal编程技术网

Java 无法在其他类中使用扫描仪字符串输入

Java 无法在其他类中使用扫描仪字符串输入,java,java.util.scanner,Java,Java.util.scanner,我正在做一个有两门课的课程。类1包含一个名为“概率”的构造函数,它接受三个输入:一个字符串和两个double。该代码如下所示: public Probability(String inputString, double inputDouble1, double inputDouble2) { this.inputString = inputString; this.inputDouble1 = inputDouble1; this.inputDouble2 = input

我正在做一个有两门课的课程。类1包含一个名为“概率”的构造函数,它接受三个输入:一个字符串和两个double。该代码如下所示:

public Probability(String inputString, double inputDouble1, double inputDouble2) {
    this.inputString = inputString;
    this.inputDouble1 = inputDouble1;
    this.inputDouble2 = inputDouble2;
}
还有一个修饰符,根据输入的字符串(即如果this.inputString==“String1”…),它有五个条件,并带有无效输入的捕获。类2多次调用“概率”构造函数来创建程序所需的概率

这就是我的困境。有五个字符串输入,我需要能够根据我正在做的事情输入。在此之前,我进入我的Class 2代码并手动更改对此字符串的所有引用(引用是“String1”、“String2”等)。换句话说,代码如下所示:

Probability P1 = new Probability("String1", double1, double2);
这显然是一个痛苦,当你有二十个参考。所以我想使用扫描仪获取用户输入,以便在运行Main时一次更改所有引用。提示时,用户将输入String1,然后将输入设置为等于字符串变量。这是我的新代码,其中double1和double2是以前的扫描仪用户输入:

Scanner scan = new Scanner(System.in);

System.out.print("Please enter a string: ");
String userInput = scan.nextLine();
Probability P1 = new Probability(userInput, double1, double2);

但这不起作用。我在catch的Class 1修饰符中设置了一个错误,表示输入与条件中的任何字符串都不匹配。我试过输入String1和“String1”。有人知道为什么会这样吗?我对从类2输入到类1修饰符的双输入没有问题。

是的,我的朋友作为其他人建议您必须使用等于方法比较两个字符串,而不是使用==运算符,这是用于参考匹配而不是内容匹配

可能只是一个观察值的重复:
this.inputString==“String1”…)
您应该使用
equals()
进行字符串比较。是的,我总是忘记equals()。非常感谢您的链接,现在一切正常@西弗勒斯,现在你能比较你的弦了,这就是问题所在。谢谢大家!!