我正在构建我的第一个程序来计算手机游戏中对老板造成的伤害。它分别考虑了我的三个骑士的攻击,防御,健康和眩晕能力(动态),并将它们与拥有自己攻击和防御(静态)的boss相匹配。我为Knight和Boss的每个人定义了各自的属性,但是在主类中声明对象时,我不想硬编码其中的值,而是让用户输入自己的值来制作整个程序动态的。
我不确定如何将扫描仪用于此特定任务。
Knight knight1 = new Knight(15346, 17378, 1784, .25);
Knight knight2 = new Knight(13340, 15794, 1409, .25);
Knight knight3 = new Knight(13704, 15345, 1588, .25);
答案 0 :(得分:2)
扫描仪允许您从输入源获取值。既可以是用户输入,也可以是文件内容。
扫描仪具有返回不同内置类型值的接口,具体取决于在“扫描”源中找到的内容。在您的情况下,您可以在循环内调用“ nextInt()”来获取骑士所需的4个值。 (请记住也调用nextLine()以使用用户键入的Enter键)。当您收集4个值时,您的代码将使用它们创建一个新的Knight对象。扫描程序不知道您的骑士等级,因此您只能使用它来询问创建骑士所需的int参数!
但是说实话:手动提供此类数据时要小心。您是否真的要在每次运行代码时键入16个值?因此,请考虑编写允许快速获取此类数据的代码,例如通过使用配置文件。
答案 1 :(得分:0)
输入字符串行,例如:“ 15346、17378、1784,.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);
}