如何从另一个类获取字符串?


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.");
}
}
}

几件事要提:

您的示例代码包含语法错误,请先修复这些错误。

  1. 如果你想要整数,你可以使用getInput.nextInt()而不是getInput.nextLine().
  2. 您可以创建 getter 和 setter 来设置值并获取值。在我的示例中,我只通过构造函数设置值。
  3. 使用正确的命名约定。
  4. 在我的示例中,我将构造函数中的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

相关内容

  • 没有找到相关文章

最新更新