Java 是否可以使用扫描仪输入不同对象的值?
我正在建立我的第一个程序来计算在手机游戏中对老板造成的伤害。它分别考虑了我的三个骑士的攻击、防御、健康和眩晕能力(动态),并用他们自己的攻击和防御(静态)与一个首领相匹配。我为Knight和Boss定义了各自的属性,但当我在主类中声明对象时,我不希望硬编码其中的值,而是让用户输入自己的值,以使整个程序动态化 我不确定如何利用扫描仪完成这项特殊任务Java 是否可以使用扫描仪输入不同对象的值?,java,Java,我正在建立我的第一个程序来计算在手机游戏中对老板造成的伤害。它分别考虑了我的三个骑士的攻击、防御、健康和眩晕能力(动态),并用他们自己的攻击和防御(静态)与一个首领相匹配。我为Knight和Boss定义了各自的属性,但当我在主类中声明对象时,我不希望硬编码其中的值,而是让用户输入自己的值,以使整个程序动态化 我不确定如何利用扫描仪完成这项特殊任务 Knight knight1 = new Knight(15346, 17378, 1784, .25); Knight knight2 = new
Knight knight1 = new Knight(15346, 17378, 1784, .25);
Knight knight2 = new Knight(13340, 15794, 1409, .25);
Knight knight3 = new Knight(13704, 15345, 1588, .25);
扫描仪允许您从输入源获取值。可以是用户输入,也可以是文件中的内容 扫描仪具有返回不同内置类型值的接口,具体取决于“扫描”源中的内容。在您的例子中,可以在循环中调用“nextInt()”来获取骑士所需的4个值。(记住还要调用nextLine()来使用用户键入的enter键)。当您收集了4个值时,您的代码将使用它们创建一个新的knight对象。扫描器不知道你的骑士等级,因此你只能用它来询问创建骑士所需的int参数
但老实说:手动提供此类数据时要小心。是否确实要在每次运行代码时键入16个值?因此,考虑编写代码,允许快速获取这些数据,例如通过使用配置文件。p> 扫描仪允许您从输入源获取值。可以是用户输入,也可以是文件中的内容 扫描仪具有返回不同内置类型值的接口,具体取决于“扫描”源中的内容。在您的例子中,可以在循环中调用“nextInt()”来获取骑士所需的4个值。(记住还要调用nextLine()来使用用户键入的enter键)。当您收集了4个值时,您的代码将使用它们创建一个新的knight对象。扫描器不知道你的骑士等级,因此你只能用它来询问创建骑士所需的int参数 但老实说:手动提供此类数据时要小心。是否确实要在每次运行代码时键入16个值?因此,考虑编写代码,允许快速获取这些数据,例如通过使用配置文件。p> 输入字符串行,如:“15346173781784,.25”,然后按
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String line = in.nextLine();
String[] lineArray = line.split(",");
double param0=Double.parseDouble(lineArray[0]);
double param1=Double.parseDouble(lineArray[1]);
double param2=Double.parseDouble(lineArray[2]);
double param3=Double.parseDouble(lineArray[3]);
Knight knight1 = new Knight(param0, param1, param2, param3);
}
输入字符串行,如:“15346173781784,.25”,然后按
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String line = in.nextLine();
String[] lineArray = line.split(",");
double param0=Double.parseDouble(lineArray[0]);
double param1=Double.parseDouble(lineArray[1]);
double param2=Double.parseDouble(lineArray[2]);
double param3=Double.parseDouble(lineArray[3]);
Knight knight1 = new Knight(param0, param1, param2, param3);
}