import java.util.*;
class Player {
public static void main (String [] args) {
String number = Text.nextLine
}
}
我想要来自此类的用户输入和 引入另一个类并使用 number 变量作为 If 语句
我希望从这个类输入用户并带入另一个类和 将数字变量用于 If 语句。
很简单,看看下面的例子(确保将两个类添加到一个包中,不同的java文件作为Player.java和ExampleClass.java),
这是Scanner
拥有的类:
import java.util.*;
public class Player{
public static void main (String [] args){
Scanner getInput = new Scanner(System.in);
System.out.print("Input a number");
//you can take input as integer if you want integer value by nextInt()
String number = getInput.nextLine();
ExampleClass obj = new ExampleClass(number);
obj.checkMethod();
}
}
这是检查编号的类:
public class ExampleClass{
int number;
public ExampleClass(String number){
try{
//If you want to convert into int
this.number = Integer.parseInt(number);
}catch(NumberFormatException e){
System.out.println("Wrong input");
}
}
public void checkMethod(){
if(number > 5){
System.out.println("Number is greater.");
}else{
System.out.println("Number is lesser.");
}
}
}
几件事要提:
您的示例代码包含语法错误,请先修复这些错误。
- 如果你想要整数,你可以使用
getInput.nextInt()
而不是getInput.nextLine()
. - 您可以创建 getter 和 setter 来设置值并获取值。在我的示例中,我只通过构造函数设置值。
- 使用正确的命名约定。
- 在我的示例中,我将构造函数中的
String
转换为整数,并用try
-catch
块包装以防止NumberFormatException
(如果您输入字符或其他内容,您可以看到wrong input
将打印)。有时在各种情况下,在构造函数中使用try
-catch
是不好的。要了解有关此内容的更多信息,请阅读尝试/捕获构造函数 - 推荐做法。
通常在另一个类上进行导入的地方,只需导入 Player 类,它应该可以工作
我不确定我是否得到了它,我想你使用的是扫描仪。 这是我这样做的方式:
扫描仪类别:
public class ScannerTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("Insert a decimal:");
String inputValue = scanner.nextLine();
if(!new ScannerCalc().isNumeric(inputValue)){
System.out.println("it's not a number...");
break;
}
else
new ScannerCalc().checkNumber(inputValue);
}
}
}
扫描仪计算类:
public class ScannerCalc {
public boolean isNumeric(String s) {
return s != null && s.matches("[-+]?\d*\.?\d+");
}
public void checkNumber(String number){
if(Integer.parseInt(number)%2==0)
System.out.println("it' even");
else
System.out.println("it's odd");
}
}
注意类的实例化以重用方法。
如果要在另一个实体中使用局部变量,最好将其作为参数传递给另一个实体的方法。例如
OtherClass.operation(scanner.nextLine()); // In case method is static
new OtherClass().operation(scanner.nextLine()); // In case method is not static