最近我对我的游戏有一个问题,这个:
@Override
public Tile getPlace(List args)
{
return new CraftingTableTile(Integer.valueOf((String)args.get(0),
Integer.valueOf((String)args.get(1)).intValue()).intValue(), this.healthrep);
}
以及:
s.map[selectedx][selectedy] = s.mp.inven.i[s.mp.invsel].getPlace(args);
给出一个错误:
Exception in thread "main" java.lang.NumberFormatException: radix 482 greater than Character.MAX_RADIX
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)
at net.spideynn.miner2d.CraftingTableItem.getPlace(CraftingTableItem.java:21)
at net.spideynn.miner2d.MainGame.mousePressed(MainGame.java:851)
at org.newdawn.slick.Input.poll(Input.java:1217)
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:641)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:411)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:321)
at net.spideynn.miner2d.MainGame.main(MainGame.java:2074)
有什么想法吗?
(很抱歉,如果答案很简单,我找不到解决方案。)
似乎您正试图将3个值传递到您的CraftingTableTile
构造函数中,但是由于括号中的错误,您只传递了2个参数:
// v This parenthesis...
Integer.valueOf((String)args.get(0),
// is balanced by this parenthesis v
Integer.valueOf((String)args.get(1)).intValue()).intValue()
和
this.healthrep
由于括号混淆,两个参数被传递到Integer。value of
,第二个被解释为基数。异常来自482
大于最大可能基数。
您可能想传递以下3个参数:
Integer.valueOf((String)args.get(0))
和
Integer.valueOf((String)args.get(1)).intValue()
和
this.healthrep
像这样:
return new CraftingTableTile(
Integer.valueOf((String)args.get(0)),
Integer.valueOf((String)args.get(1)).intValue(),
this.healthrep);
顺便说一下,您的构造函数可能采用int
s,在这种情况下,您可以使用parseInt
。parseInt
和value eOf
之间的唯一区别是parseInt
返回一个int
和value eOf
返回一个整数
。
return new CraftingTableTile(
Integer.parseInt((String)args.get(0)),
Integer.parseInt((String)args.get(1)),
this.healthrep);
我试图运行此代码,但它发生错误。 正如我们所知,长的最小数量是-9,223,372,036,854,775,808和0x9000000000000000-8,070,450,532,247,928,832为什么会发生错误?
我找不到任何问题。正在获取此错误。。。 异常线程"main"java.lang.NumberFormatExcture:对于输入字符串:"atjava.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)atjava.base/java.lang.Integer.parseInt(Int
我正在研究背包问题,我是Java新手。我可以像这样手动添加数字: 但是,我无法允许用户输入数字 第一个数字应该是目标,然后是权重<因此,我尝试将用户输入作为字符串,并用空格将其拆分,然后将其转换为整数<接下来,我尝试用两种方法进行parseInt,但都没有成功 以下是代码: 以下是错误: 异常线程"main"java.lang.NumberFormatException:对于输入字符串:"18 7
我正在研究背包问题,我是Java新手。我可以像这样手动添加数字: 谢谢你的帮助。
问题内容: 当我尝试将Integer.parseInt()与单个字符一起使用时,出现此错误。 是什么给我的错误是这样的: 问题答案: 字母不是数字。您是要写数字5吗? 还是您要打印字符的ASCII或Unicode值?
最近我正在学习Spring框架。所以我正在尝试检查依赖注入在Spring框架中的工作原理。因此,我创建了一个新的java项目并使用基于构造函数XML的配置练习依赖注入代码。运行我的项目后,我收到了这个错误...... 类路径资源[com/mir00r/beans.XML]的XML文档中的第24行无效;嵌套异常为组织。xml。萨克斯。SAXParseException;行号:24;列数:9;cvc复