我目前在使用我的程序时遇到问题,我正在尝试将包含我的变量的文件“导入”到我的主Java文件中,以便它可以识别变量而不将它们添加到主文件中
我创建了一个名为Variables的.java
文件,此代码位于:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package destinytextgame;
import java.util.Scanner;
/**
*
* @author 30136246
*/
public class Variables {
Scanner input = new Scanner(System.in);
String first_name;
int age;
}
我想要做的是能够使我用来编码程序的主Java文件识别Variables.java
文件中的代码。当我在没有任何其他代码的情况下尝试它时,它会一直弹出错误,说没有定义first_name。有人可以帮忙吗?
答案 0 :(得分:1)
您可能想尝试的一些事情:
如果您只需要一个实例,请创建变量public static
。
实例化变量类Variables vars = new Variables();
,然后从实例vars.first_name = "First Name";
中调用变量
如果您使用的是实例方法,那么我建议使用Getters and Setters
This也可以帮助您了解如何更好地获取类变量。
以静态方式执行:
public class Main {
public static void main(String[] args){
Variables.first_name = "Hello, you.";
System.out.println("first_name: " + Variables.first_name);
}
private static class Variables {
private static Scanner input = new Scanner(System.in);
public static String first_name;
public static int age;
}
}
以OOP方式进行:
public class Main {
public static void main(String[] args) {
Variables var = new Variables();
var.setFirst_name("First Name Here");
System.out.println(var.getFirst_name());
}
private static class Variables {
private Scanner input = new Scanner(System.in);
public String first_name;
public int age;
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
}
答案 1 :(得分:0)
您需要创建Variables类的实例:
public static void main(String[] args) {
Variables variables = new Variables();
System.out.println("Please enter your first name:");
variables.first_name = variables.input.next();
System.out.println("Hi " + variables.first_name + "!");
}