gpt4 book ai didi

java - 将 int 数组转换为 int

转载 作者:行者123 更新时间:2023-12-02 06:03:07 26 4
gpt4 key购买 nike

我的应用程序中有一个存储 int 值的类:

角色.类:

public int charPunch(int q) {

int[] charPunch = {
15,
10,
20,
25,
20,
20,
15,
20,
20,
25
};
return charPunch(q);
}

q值由用户角色选择决定。我正在尝试理解代码,因此只是发布了当前的代码。

在同一个类文件中,我有一个字符串数组,然后我可以使用 .toString() 对其进行转换(在另一个 .class 文件中);

游戏类:

oneName = Ch.charName(q).toString();

这为playerOne的oneName提供了数组值,并将字符串数组结果转换为单个字符串,然后就可以工作了!

我的问题是:我可以对 int 值数组执行完全相同的操作吗?

  • 将 int 数组更改为 String 数组,将 String 数组转换为单个 String,然后将 String 转换为 int 会是糟糕的编程,但我最好的解决方案吗?

    String onePunch = charPunch(q).toString();
    int charPunchInt = Integer.parseInt(charPunch);

我目前在Characters.class数组的返回行上收到StackOverflowError,直到进程放弃。

最佳答案

I currently get StackOverflowError on the Characters.class

这是因为您一遍又一遍地调用相同的方法,而不会随时停止。基本上,这就是您的代码的样子(除了它的其余代码之外):

public int charPunch(int q) {
return charPunch(q);
}

因此它将使用相同的参数调用自身,并且除了填充堆栈内存之外什么也不做,直到出现您指示的错误为止。

一个可能的解决方案可能是在您的方法中添加一些逻辑来停止。或者,您可能想访问数组的一个元素:

public int charPunch(int q) {
int[] charPunch = {
15,
10,
20,
25,
20,
20,
15,
20,
20,
25
};
return charPunch[q]; //<- using brackets [] instead of parenthesis ()
}

请注意,如果 q 的值小于 0 或大于使用的数组的大小。

<小时/>

如果您尝试执行此代码:

String onePunch = charPunch(q).toString();
int charPunchInt = Integer.parseInt(charPunch);

它不会编译,因为您从 charPunch 返回一个 intint 是一种原始类型,根本没有任何方法。因此,您可以更改方法以返回 Integer ,并且您将可以访问 toString 方法,但通过这样做,上面的代码会将整数转换为string 将字符串转换为整数(再次),这似乎没有意义。

<小时/>

Am I able to do the exact same thing to an array of int values?

定义你真正想做的事情,然后你就会得到预期的帮助。

关于java - 将 int 数组转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22511598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com