JAVA主函数报错_在主函数中调用Scanner函数出错?求各位给看一下

不好意思,没仔细看,你的speedUp不是属性,是个方法,7楼的写法可以

public class JavaApplication5 {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

Tank tank1 = new Tank();

Tank tank2 = new Tank();

tank1.setBulletAmount(10);

tank2.setBulletAmount(1);

tank1.speedUp(input.nextDouble());

tank2.speedUp(input.nextDouble());

tank1.fire();

tank2.fire();

System.out.println("tank1目前的速度:" + tank1.getSpeed());

System.out.println("tank2目前的速度:" + tank2.getSpeed());

System.out.println("tank1现有炮弹数量:" + tank1.getBulletAmount());

System.out.println("tank2现有炮弹数量:" + tank2.getBulletAmount());

tank1.speedUp(input.nextDouble());

tank2.speedUp(input.nextDouble());

tank1.fire();

tank2.fire();

System.out.println("tank1目前的速度:" + tank1.getSpeed());

System.out.println("tank2目前的速度:" + tank2.getSpeed());

System.out.println("tank1的炮弹数量:" + tank1.getBulletAmount());

System.out.println("tank2的炮弹数量:" + tank2.getBulletAmount());

}

}

class Tank {

private double speed;

private int bulletAmount;

void speedUp(double s) {

speed = speed + s;

}

void speedDown(int d) {

if (speed - d >= 0)

speed = speed - d;

else

speed = 0;

}

void setBulletAmount(int m) {

bulletAmount = m;

}

int getBulletAmount() {

return bulletAmount;

}

double getSpeed() {

return speed;

}

void fire() {

if (bulletAmount >= 1) {

bulletAmount = bulletAmount - 1;

System.out.println("打出一发炮弹");

} else {

System.out.println("没有炮弹了");

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误通常表示编译器无法找到所需的类或包。这可能是因为您没有正确设置类路径或者在代码拼写错误。 您可以尝试以下几种方法来解决此问题: 1. 确认您的代码没有拼写错误,特别是类和包名。 2. 检查您的类路径设置是否正确,确保您的代码可以找到所需的类和包。 3. 如果您使用的是IDE,可以尝试重新导入项目或重建项目,以确保所有依赖项正确配置。 4. 确认您的Java版本与您的代码所需的Java版本相匹配。 如果您仍然无法解决问题,请尝试提供更多信息,例如您的代码和完整的错误消息,以便更好地帮助您解决问题。 ### 回答2: java.util.Scanner.throwFor(未知源)错误通常是由于在代码使用Scanner类的一些方法时出现了问题。这个错误的出现提示我们在某一处地方使用Scanner类的方法,但是编译器无法确定这个方法的确切位置。 要解决这个错误,我们可以尝试一些方法。 首先,我们可以检查代码是否有Scanner类的相关行。如果有,我们可以仔细检查这些代码行,确保正确使用Scanner类的方法。例如,我们要确保Scanner类的对象正确初始化,并且使用了正确的方法,比如nextLine、nextInt等。 其次,我们可以检查代码是否有可能导致Scanner类的使用出现问题的其他因素。例如,我们要确保需要从用户输入读取内容的地方,确实存在可以供Scanner类读取的内容,比如用户在控制台输入了数据。 另外,我们还可以尝试更新或重新安装Java的开发环境(JDK),以确保我们使用的是正确的和兼容的Java版本。 如果上述方法都无法解决问题,我们可以尝试在网上搜索相关的错误信息。可能有其他开发者也遇到过类似的问题,并且提供了有效的解决方案。 总的来说,java.util.Scanner.throwFor(未知源)错误表明我们在使用Scanner类的时候出现了问题。通过仔细检查代码,确保正确使用Scanner类的方法,并确保提供了需要读取的内容,可以解决这个错误。如果问题仍然存在,可以尝试更新或重新安装Java开发环境,或者搜索网上的解决方案。 ### 回答3: java.util.Scanner.throwFor(未知源)错误是Java编译器报告的一种错误。该错误通常出现在使用Scanner类时,表示代码存在一些问题导致无法正确执行。考虑以下可能的原因和解决方法: 1. 错误的导入:请确保已正确导入java.util.Scanner类。在代码的开头加入`import java.util.Scanner;`语句。 2. 语法错误:检查代码的语法错误,如拼写错误、缺少分号、括号不匹配等。通过仔细检查代码,定位并修复错误。 3. 输入错误:当使用Scanner类时,需要注意输入格式和类型。如果输入与代码的格式或类型不匹配,会引发未知源错误。确保输入与代码指定的数据类型匹配,或者在使用Scanner类时进行适当的类型转换。 4. 缺少输入:如果代码使用Scanner类来接收输入,而实际运行时没有提供足够的输入,就会出现未知源错误。确保在使用Scanner类之前先检查是否有足够的输入。 5. 输入源关闭:如果在使用Scanner类时,输入源(如控制台输入)被错误地关闭,就会导致未知源错误。确保在使用Scanner类之后,不要关闭输入源。 总而言之,解决java.util.Scanner.throwFor(未知源)错误的关键是仔细检查代码,并确保代码与输入的匹配。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值